Cod sursa(job #1343041)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 14 februarie 2015 20:12:46
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <vector>
#include <bitset>
#define DIM 100011
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n,maxd,nodm;

vector<int> L[DIM];
bitset<DIM> viz;

void dfs(int nod,int niv){
    vector<int>::iterator it;
    viz[nod]=1;
    for(it=L[nod].begin();it!=L[nod].end();it++){
        if(!viz[*it])
            dfs(*it,niv+1);
    }
    if(niv>maxd)
        maxd=niv,nodm=nod;
}

int main(void){
    register int i,j,x,y;

    f>>n;
    for(i=1;i<n;i++)
        f>>x>>y,L[x].push_back(y),L[y].push_back(x);;

    dfs(1,0);
    maxd=0;
    viz.reset();
    dfs(nodm,0);
    g<<maxd+1;
    f.close();
    g.close();
    return 0;
}