Pagini recente » Cod sursa (job #2848627) | Cod sursa (job #1366890) | Cod sursa (job #940123) | Cod sursa (job #940769) | Cod sursa (job #1487067)
#include<cstdio>
#include<vector>
using namespace std;
vector<int>L[100100];
int n,a,b,i,j,p,u,vmax,poz,c[2][100100],v[100100],x[100100],d[100100];
FILE *f,*g;
int main(){
f=fopen("darb.in","r");
g=fopen("darb.out","w");
fscanf(f,"%d",&n);
for(i=1;i<n;i++){
fscanf(f,"%d%d",&a,&b);
L[a].push_back(b);
L[b].push_back(a);
}
c[0][1]=1;
u=p=1;
while(p<=u){
a=c[0][p];
for(i=0;i<L[a].size();i++){
if( v[ L[a][i] ] == 0 ){
c[0][++u]=L[a][i];
c[1][u]=c[1][p]+1;
v[ L[a][i] ] = 1;
b=c[0][u];
}
}
p++;
}
c[0][1]=b;
c[1][1]=1;
p=u=1;
while(p<=u){
a=c[0][p];
for(i=0;i<L[a].size();i++){
if( x[ L[a][i] ] == 0 ){
c[0][++u]=L[a][i];
c[1][u]=c[1][p]+1;
vmax=c[1][u];
x[ L[a][i] ] = 1;
}
}
p++;
}
fprintf(g,"%d",vmax);
fclose(f);
fclose(g);
return 0;
}