0分求调!!
查看原帖
0分求调!!
1470808
Ambrose0321楼主2025/1/1 15:08

0分,但不知道哪里错了,麻烦大佬帮蒟蒻调一下。

#include <bits/stdc++.h>
#define pb push_back
using namespace std;
typedef long long ll;
const int N = 300001;
int n, m, x, y, s[N], t[N], f[N];
int find(int x) {
	if (f[x] == x)
		return x;
	return f[x] = find(f[x]);
}
int main() {
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= n; i++)
		f[i] = i;
	for (int i = 1; i <= m; i++) {
		scanf("%d%d", &s[i], &t[i]);
		int fx = find(s[i]), fy = find(t[i]);
		if (fx == fy) {
			puts("No");
			return 0;
		}
		f[fx] = fy;
	}
	puts("Yes");
	for (int i = 1; i < m; i++)
		printf("%d %d\n", s[i], t[i]);
	printf("%d ", s[m]);
	for (int i = 1; i <= n; i++) {
		y = find(i);
		if (x != y && y == i)
			printf("%d\n%d ", i, i);
	}
	printf("%d\n", t[m]);
}
2025/1/1 15:08
加载中...