求助分析
查看原帖
求助分析
1459454
flqqf楼主2025/8/3 18:33

求助大佬!!

通过观察我发现一个规律:

答案=树的末梢叶子数量-1

然后我就开了个数组用于记录每个节点链接其他点的数量,如果这个点只有一个链接,那么就是末梢。

秉持着上面的思想,再加上特判,代码能达到95的分数,但是测试点4一直爆WA。

想知道为什么测试点4会爆,orz 代码附上:

/*luogumxT559325 【MX-X15-T2】系绳绳*/
#include <iostream>
#include <cstring>

const int N = 2e5+5;
using namespace std;

int main() {
	int a[N];
	int t;
	cin >> t;
	while (t--) {
		memset(a, 0, sizeof a);
		int n;
		cin >> n;
		for (int i = 1; i <= n - 1; i++) {
			int u = 0, v = 0;
			cin >> u >> v;
			a[u]++;
			a[v]++;
		}
		if (n <= 2) {
			cout << 0 << endl;
			continue;
		}
		int ans = 0;
		for (int i = 1; i <= n; i++) {
			if (a[i] == 1) {
				ans++;
			}
		}
		cout << ans - 1 << endl;

	}
	return 0;
}
2025/8/3 18:33
加载中...