#11挂了,求问为什么?
查看原帖
#11挂了,求问为什么?
1251853
linglu1YGking楼主2025/7/25 10:13
#include <bits/stdc++.h>
using namespace std;

int fa[2005];
int ans=0;

int find(int x){
	if(x==fa[x]) return x;
	else return fa[x]=find(fa[x]);
}

int main(){
	int n,m,p,q;
	char opt;
	cin>>n>>m;
	for(int i=1;i<=n*2;i++) fa[i]=i;
	for(int i=1;i<=m;i++){
		cin>>opt>>p>>q;
		if(opt=='F'){
			int t1=find(p),t2=find(q);
			fa[t1]=t2;
		}else{
		    int t1=find(p),t2=find(q);
			int t3=find(p+n),t4=find(q+n);
			fa[t3]=t2;
			fa[t4]=t1;
		}
	}
	for(int i=1;i<=n;i++){
		if(i==find(i)) ans++;
	}
	cout<<ans;
	return 0;
}
2025/7/25 10:13
加载中...