Cod sursa(job #2177209)

Utilizator mateibanuBanu Matei Costin mateibanu Data 18 martie 2018 13:30:37
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

int n,mx,p,viz[100010];
vector<int>v[100010];

void df(int nod, int ad){
    if (ad>mx) {mx=ad;p=nod;}
    int i,nr=v[nod].size();
    viz[nod]=1;
    for (i=0;i<nr;i++)
        if (!viz[v[nod][i]]) df(v[nod][i],ad+1);
}

int main()
{
    freopen("darb.in","r",stdin);
    freopen("darb.out","w",stdout);
    int i,x,y;
    scanf("%d",&n);
    for (i=1;i<n;i++){
        scanf("%d%d",&x,&y);
        v[x].push_back(y);
        v[y].push_back(x);
    }
    df(1,1);
    mx=0;
    memset(viz,0,sizeof(viz));
    df(p,1);
    printf("%d\n",mx);

    return 0;
}