话不多说,上代码
查看原帖
话不多说,上代码
1048427
zhaoziyu123楼主2024/8/29 19:29
~~超简单~~
#include<iostream>
#include<cstdio>
#include<stdio.h>
#include<algorithm>
#include<queue>
using namespace std;
int f[10020],cnt;
int find(int x){
	if(f[x]==0) return x;
	return find(f[x]);
}
void merge(int a,int b){
	int x=find(a);
	int y=find(b);
	if(x!=y) f[x]=y;
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	char c;
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int a,b;
		cin>>c>>a>>b;
		if(c=='F'){
			merge(a,b);
		}
		else if(c=='E'){
			merge(a+n,b);
			merge(b+n,a);
		}
	}
	for(int i=1;i<=n;i++){
		if(f[i]==0) cnt++;
	}
	cout<<cnt;
	return 0;
}
2024/8/29 19:29
加载中...