Pagini recente » Borderou de evaluare (job #3360904) | Borderou de evaluare (job #3365422) | Borderou de evaluare (job #3364492) | Cod sursa (job #3365425) | Cod sursa (job #3365338)
#include <bits/stdc++.h>
using namespace std;
ifstream in("darb.in");
ofstream out("darb.out");
vector <vector<int>> a;
vector <int> gasit;
int dmax=0,nodmax=1;
void dfs(int nod,int d)
{
if(dmax<d)
{
dmax=d;
nodmax=nod;
}
for(int x : a[nod])
{
if(!gasit[x])
{
gasit[x]=1;
dfs(x,d+1);
}
}
}
int main()
{
int n;
in>>n;
a.resize(n+1);
gasit.resize(n+1);
for(int i=1;i<=n-1;i++)
{
int x,y;
in>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
gasit[1]=1;
dfs(1,0);
for(int i=1;i<=n;i++)
{
gasit[i]=0;
}
dfs(nodmax,0);
out<<dmax+1;
return 0;
}