#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
const int maxn = 1e6 + 15;
struct node{
int l, r;
}L[maxn];
int vis[maxn + 1], n;
int cmp(int a, int b){
return a > b;
}
int main(){
scanf("%d",&n);
vis[1] = 1;
for(int i = 1; i <= n; i++){
int l, r;
scanf("%d%d",&l,&r);
L[i].l = l; L[i].r = r;
if(l){
vis[l] = vis[i] + 1;
}
if(r){
vis[r] = vis[i] + 1;
}
}
sort(vis + 1, vis + 1 + maxn, cmp);
printf("%d\n",vis[1]);
return 0;
}
这样的代码只得了80分,不知道哪里出问题了,请大佬看一看