Pagini recente » Cod sursa (job #641447) | Cod sursa (job #180923) | Cod sursa (job #665907) | Cod sursa (job #1807605) | Cod sursa (job #2338572)
#include <cstdio>
#include <vector>
#define pb push_back
#define lmax 100005
using namespace std;
FILE *fin=fopen("darb.in","r");
FILE *fout=fopen("darb.out","w");
int n;
int x, y;
vector<int>g[lmax];
int f1, n1;
int ans, n2;
void dfs(int k, int nr, int last, int &maxx, int &nod)
{
if (nr>maxx)
{
maxx = nr;
nod = k;
}
for (int i=0;i<g[k].size();++i)
{
if (g[k][i]!=last)
{
dfs(g[k][i], nr+1, k, maxx, nod);
}
}
}
int main()
{
fscanf(fin,"%d",&n);
for (int i=1;i<=n;++i)
{
fscanf(fin,"%d %d",&x,&y);
g[x].pb(y);
g[y].pb(x);
}
dfs(1,1,-1,f1,n1);
dfs(n1,1,-1,ans,n2);
fprintf(fout,"%d\n",ans);
return 0;
}