能过样例但是全WA
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
long long n,ver[N],tot=0,nxt[N],head[N],vis[N],d[N],u,v,ans=0;
void add(long long x,long long y){
ver[++tot]=y;
nxt[tot]=head[x];
head[x]=tot;
}
void dp(long long x){
vis[x]=1;
for(long long i=head[x];i;i=nxt[i]){
long long y=ver[i];
if(vis[y]) continue;
dp(y);
ans=max(ans,d[x]+d[y]+1);
d[x]=max(d[x],d[y]+1);
}
}
int main(){
ios::sync_with_stdio(0),cin.tie(0);
memset(head,0,sizeof(head));
memset(vis,0,sizeof(vis));
cin>>n;
for(long long i=1;i<=n-1;i++){
cin>>u>>v;
add(u,v);
}
dp(1);
cout<<ans;
return 0;
}