Cod sursa(job #2030678)

Utilizator luanastLuana Strimbeanu luanast Data 1 octombrie 2017 22:55:37
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
int n,i,x,y,v[100001],nodmax,maxim;
vector <int> L[100001];

void dfs(int nod, int niv){
    v[nod]=1;
    if(niv>maxim){
        maxim=niv;
        nodmax=nod;
    }
    for(int i=0;i<L[nod].size();i++){
        int nodv=L[nod][i];
        if(v[nodv]==0)
            dfs(nodv,niv+1);
    }
}

int main(){
    fin>>n;
    for(i=1;i<=n-1;i++){
        fin>>x>>y;
        L[x].push_back(y);
        L[y].push_back(x);
    }
    dfs(1,1);
    x=nodmax;
    nodmax=0;
    maxim=0;
    for(i=1;i<=n;i++)
        v[i]=0;
    dfs(x,1);
    fout<<maxim;
}