Cod sursa(job #2470026)

Utilizator RedXtreme45Catalin RedXtreme45 Data 8 octombrie 2019 17:09:58
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
vector <int> v[100001];
int dif,max1,nod,n;
void DFS(int x,int t,int dif)
{
    if (dif>max1)
    {
        max1=dif;
        nod=x;
    }
    for (vector <int>:: iterator it=v[x].begin();it!=v[x].end();++it)
    {
        int o=*it;
        if (o!=t)
        {
            DFS(o,x,++dif);
            dif--;
        }
    }
}
int main()
{
    int a,b,i;
    fin>>n;
    for (i=1;i<n;i++)
    {
        fin>>a>>b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    DFS(1,0,0);
    max1=0;
    DFS(nod,0,0);
    fout<<max1+1;
    return 0;
}