#include<iostream>
#include<queue>
using namespace std;
struct Node {
int val;
int left;
int right;
};
int main() {
int n, t = 1, m = 0;
queue<int> s;
Node p[1000001];
cin >> n;
if (n == 0) {
cout << "0";
}
else {
for (int i = 1; i <= n; i++) {
int k, t;
cin >> k >> t;
if (i == 1) {
p[i].val = 1;
}
p[i].left = k;
p[k].val = p[i].val + 1;
p[i].right = t;
p[t].val = p[i].val + 1;
}
s.push(1);
while (!s.empty()) {
t = s.front();
s.pop();
if (p[t].left) {
s.push(p[t].left);
}
if (p[t].right) {
s.push(p[t].right);
}
}
cout << p[t].val;
}
return 0;
}
不知道哪里错了,一直都是80分,求大佬帮忙