Cod sursa(job #2374180)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 7 martie 2019 17:23:08
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
#define LMAX 100005
using namespace std;
vector<int> G[LMAX];
int Max,nod_diam;
void dfs(int nod,int tata,int dist){
    if(dist>Max){
        Max=dist;
        nod_diam=nod;
    }
    for(auto it : G[nod])
        if(it!=tata)
            dfs(it,nod,dist+1);
}
int main(){
    freopen("darb.in","r",stdin);
    freopen("darb.out","w",stdout);
    int n;
    scanf("%d",&n);
    for(int i=1;i<n;++i){
        int u,v;
        scanf("%d %d",&u,&v);
        G[u].push_back(v);
        G[v].push_back(u);
    }
    Max=-1;
    dfs(1,-1,1);
    Max=-1;
    dfs(nod_diam,-1,1);
    printf("%d\n",Max);
    return 0;
}