Cod sursa(job #2603017)

Utilizator sichetpaulSichet Paul sichetpaul Data 18 aprilie 2020 13:54:16
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>
#define Nmax 100005
using namespace std;

ifstream f("darb.in");
ofstream g("darb.out");

int N, ans, dep;
int lev[Nmax];
vector<int> G[Nmax];

void DFS(int node, int father) {
    lev[node] = lev[father] + 1;
    if (lev[node] > ans) ans = lev[node], dep = node;
    for (auto it: G[node])
        if (it != father) DFS(it, node);
}
int main()
{
    f >> N;
    for (int i = 1; i < N; ++i) {
        int x, y;
        f >> x >> y;
        G[x].push_back(y);
        G[y].push_back(x);
    }

    DFS(1, 0);
    ans = 0;
    DFS(dep, 0);

    g << ans << '\n';

    return 0;
}