Pagini recente » Cod sursa (job #182653) | Cod sursa (job #171482) | Cod sursa (job #2077257) | Cod sursa (job #1200041) | Cod sursa (job #1171508)
#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
int x,y,N,ind,ma=0,d[100100];
vector<int> m[100100];
bool viz[100100];
void reset() {
for(int i=1;i<=N;++i) {
viz[i]=0;
d[i]=0;
}
ma = 0;
}
void dfs(int x) {
viz[x]=1;
for(int i=0;i<m[x].size();++i) {
int y = m[x][i];
if(!viz[y]) {
d[y] = d[x]+1;
dfs(y);
}
}
if(d[x]>ma) {
ma = d[x];
ind = x;
}
}
int main() {
//freopen("input.in","r",stdin);
freopen("darb.in","r",stdin);
freopen("darb.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<N;++i) {
scanf("%d%d",&x,&y);
m[x].push_back(y);
m[y].push_back(x);
}
dfs(1);
x = ind;
//printf("%d %d\n",ind,ma);
reset();
dfs(x);
//printf("%d %d\n",ind,ma);
printf("%d",ma+1);
return 0;
}