注意默认根节点是1,所以从根节点搜索即可
#include<iostream>
using namespace std;
struct node{
int left,right;
};
node tree[100005];
int lea=0;
void dfs(int node,int step){
if(node==0){
lea=max(lea,step);
return;
}
dfs(tree[node].left,step+1);
dfs(tree[node].right,step+1);
}
int main(){
int m;
cin>>m;
for(int i=1;i<=m;i++){
cin>>tree[i].left>>tree[i].right;
}
dfs(1,1);
cout<<lea-1<<endl;
return 0;
}