求助,90分wa,#7
查看原帖
求助,90分wa,#7
747213
RZXBXie楼主2023/4/9 14:58
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1010;
int p[N], enm[N];
int n, m;

int find(int x) {
	if (x != p[x]) p[x] = find(p[x]);
	return p[x];
}

int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; ++i) {
		p[i] = i;
	}
	int cnt = n;
	char op;
	int a, b;
	while (m--) {
		cin >> op >> a >> b;
		if (op == 'E') {
			if (enm[a]) {
				int pa = find(enm[a]), pb = find(b);
				if (pa != pb) p[pa] = pb, --cnt;
			}
			enm[a] = b;
		} else if (op == 'F') {
			int pa = find(a), pb = find(b);
			if (pa != pb) p[pa] = pb, --cnt;
		}
	}
	cout << cnt << endl;
	return 0;
}
2023/4/9 14:58
加载中...