Pagini recente » Cod sursa (job #2419881) | Cod sursa (job #2566619) | Cod sursa (job #1850272) | Cod sursa (job #916272) | Cod sursa (job #1107910)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector <int> leg[100001];
int viz[100001];
int i,j,n,a,b,lm1,lm2,last;
void dfs (int crt, int lg)
{
if (lg>lm1)
{
lm1=lg;
last=crt;
}
int i,k=leg[crt].size();
for (i=0; i<k; i++)
if (!viz[leg[crt][i]])
{
viz[leg[crt][i]]=1;
dfs(leg[crt][i], lg+1);
}
}
int main () {
FILE *f, *g;
f=fopen("darb.in", "r");
fscanf(f, "%d", &n);
for (i=1; i<=n; i++)
{
fscanf(f, "%d %d", &a,&b);
leg[a].push_back(b);
leg[b].push_back(a);
}
fclose(f);
viz[1]=1;
dfs(1,1);
for (i=1; i<=n; i++) viz[i]=0;
dfs(last,1);
g=fopen("darb.out", "w");
fprintf(g, "%d", lm1);
fclose(g);
return 0;
}