Cod sursa(job #2240631)

Utilizator ciutanpCiuta Andrei Calin ciutanp Data 13 septembrie 2018 20:06:18
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector<int>G[100001];
int n,viz[100001],mx,pct;
void DFS1(int node,int val)
{
    viz[node]=val;
    if(val>mx)
    {
        mx=val;
        pct=node;
    }
    for(vector<int>::iterator it=G[node].begin(); it < G[node].end();++it)
    {
        if(viz[*it]==0)
        {
            DFS1(*it,val+1);
        }
    }
}
int main()
{
    f>>n;
    for(int a,b,i=1;i<=n;++i)
    {
        f>>a>>b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
    DFS1(1,1);
    mx=0;
    memset(viz,0,sizeof(viz));
    DFS1(pct,1);
    g<<mx;
}