Cod sursa(job #2445178)

Utilizator blotucosmincosmin blotucosmin Data 2 august 2019 23:32:20
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n, i, x, y, maxx, frunza;
vector <int> v[100001];
bool viz[100001];
void dfs(int k, int lg)
{
    if(lg > maxx)
    {
        maxx = lg;
        frunza = k;
    }
    viz[k] = 1;
    for(int i = 0; i < v[k].size(); ++ i)
        if(viz[v[k][i]] == 0) dfs(v[k][i], lg + 1);
}
int main()
{
    f >> n;
    for(i = 1; i < n; ++ i)
    {
        f >> x >> y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    dfs(1, 1);
    memset(viz, 0, sizeof(viz));
    dfs(frunza, 1);
    g << maxx;
    return 0;
}