求大佬:到输入字母那输入不进,不知什么原因
查看原帖
求大佬:到输入字母那输入不进,不知什么原因
813591
ZYZ1021楼主2022/12/26 17:10
#include <bits/stdc++.h>
#define ll long long
using namespace std;

int n, m;
int E[1003], F[1003];

void Inset(){
	for(int i = 1;i <= n;i ++) E[i] = 0;
	for(int i = 1;i <= n;i ++) F[i] = i;
}
int Find(int x) {return x == F[x] ? x : (F[x] = Find(F[x]));}
void Union(int x, int y) {F[Find(y)] = Find(x);}

int main(){
	int i, cnt = 0;
	
	scanf("%d\n%d", &n, &m); Inset();
	for(i = 1;i <= m;i ++){
		char opt; int x, y;
		scanf("%c %d %d", &opt, &x, &y);
		if(opt == 'E'){
			if(!E[x]) E[x] = Find(y); else Union(E[x], y);
			if(!E[y]) E[y] = Find(x); else Union(x, E[y]);
		}
		else Union(x, y);
	}
	for(i = 1;i <= n;i ++)
		if(F[i] == i) cnt ++;
		
	printf("%d", cnt);
	
	return 0;
}
2022/12/26 17:10
加载中...