Cod sursa(job #2671755)

Utilizator TraianVVisan Traian-Dimitrie TraianV Data 12 noiembrie 2020 17:34:00
Problema Diametrul unui arbore Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;
vector <int> nod[100001];
int n,y,sol=-1,H[100001];
ifstream f("darb.in");
ofstream g("darb.out");

void bfs(int x,int m=1)
{
    H[x]=1;
    if(m>sol) 
    {
        sol=m;
        y=x;
    }
    for(auto i:nod[x])
        if(H[i]==0)
            bfs(i,m+1);
}

int main()
{
    f>>n;
    for(int i=0,a,b;    i<n-1;  i++){
        f>>a>>b;
        nod[a].push_back(b);
        nod[b].push_back(a);
    }

    bfs(1);
    memset(H,0,100001);
    bfs(y);
    g<<sol;
    f.close();
    g.close();
    return 0;

}