求助,样例未过,10分AC#6
查看原帖
求助,样例未过,10分AC#6
546681
lcbridgeAK CSP-S楼主2023/1/25 21:15

RT,求助各位大佬,谢谢

#include <bits/stdc++.h>
using namespace std;
int n,m,fa[2005],x,y;
char opr;
int find(int x){
	if(x==fa[x])return x;
	return fa[x]=find(fa[x]);
}
void merge(int x,int y){
	int fx=find(x);
	int fy=find(y);
	if(fx!=fy)fa[fy]=fx;
	return ;
}
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>m;
	for(int i=1;i<=2*n;i++)fa[i]=i;
	while(m--){
		cin>>opr>>x>>y;
		if(opr=='F')merge(x,y);
		else {
			merge(x+n,y);
			merge(x,y+n);
		}
	}
	int cnt=0;
	for(int i=1;i<=n;i++)if(fa[i]==i)cnt++;
	cout<<cnt;
	return 0;
} 
2023/1/25 21:15
加载中...