Pagini recente » Cod sursa (job #1377200) | Cod sursa (job #1186) | Cod sursa (job #2401912) | Cod sursa (job #2902583) | Cod sursa (job #1123997)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector <int> gr[100005];
int n,m,x,y,max1,dis[100005],no;
void dfs (int p)
{
int i;
for(i=0;i<gr[p].size();i++)
{
if(dis[p]+1<dis[gr[p][i]])
{
dis[gr[p][i]]=dis[p]+1;
if(dis[gr[p][i]]>max1)
{
max1=dis[gr[p][i]];
no=gr[p][i];
}
dfs(gr[p][i]);
}
}
}
int main ()
{
int i;
f>>n;
for(i=1;i<=n-1;i++)
{
f>>x>>y;
gr[x].push_back(y);
gr[y].push_back(x);
}
max1=0;
for(i=1;i<=n;i++)
dis[i]=100005;
dis[1]=0;
dfs(1);
for(i=1;i<=n;i++)
dis[i]=100005;
dis[no]=1;
dfs(no);
g<<max1;
}