Cod sursa(job #2157757)

Utilizator Constantin.Dragancea Constantin Constantin. Data 9 martie 2018 21:30:05
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;

int n, ans, l, f;
vector <int> v[100010];
bool u[100010];

void dfs(int q){
    u[q] = 1;
    if (l > ans) ans = l, f = q;
    for (auto it: v[q]){
        if (!u[it]) l++, dfs(it), l--;
    }
}

int main(){
    ifstream cin ("darb.in");
    ofstream cout ("darb.out");
    cin >> n;
    for (int i=1; i<n; i++){
        int a, b;
        cin >> a >> b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    dfs(1);
    for (int i=1; i<=n; i++) u[i] = 0;
    dfs(f);
    cout << ans + 1;
    return 0;
}