不知道哪错了,求调qwq
查看原帖
不知道哪错了,求调qwq
547238
篮网总冠军楼主2024/10/9 23:04
#include <bits/stdc++.h>
using namespace std;

int f[200005];
int find(int x){
	if (x==f[x]) return x;
	return f[x]=find(f[x]);
}
int main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n*2;i++) f[i]=i;
	for(int i=1;i<=m;i++){
		char ch,x1,y2;
		cin>>ch>>x1>>y2;
		if (ch=='F') {
			f[find(x1)]=find(y2);
		}
		else {
			f[find(n+x1)]=find(y2);
			f[find(n+y2)]=find(x1);
		}
	}
	int cnt=0;
	for(int i=1;i<=n;i++){
		if (f[i]==i) cnt++;
	}
	cout<<cnt<<endl;
	return 0;
}
2024/10/9 23:04
加载中...