统计每个节点到根节点的距离后求最值并输出
如题,#2WA,求助
#include<bits/stdc++.h>
using namespace std;
const long long MaxN=(long long)1e6+5;
long long h,n;
long long d[MaxN];
long long ans=-1;
int main(){
memset(d,0,sizeof(d));
d[1]=0;
cin>>n;
for(int i=1;i<=n;i++){
int l,r;
cin>>l>>r;
d[l]=d[i]+1;
d[r]=d[i]+1;
ans=max(d[r],max(ans,d[l]));
}
printf("%lld",ans);
return 0;
}