求助大佬
查看原帖
求助大佬
799276
the_universe楼主2024/1/3 01:12
#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分,求大佬帮忙

2024/1/3 01:12
加载中...