关于本地样例正确但提交WA
查看原帖
关于本地样例正确但提交WA
461012
dyyzy楼主2022/8/2 01:24
#include<iostream>
#include<cstdio>
using namespace std;
const int N=5005;
int n,m,ans,fa[N];
int get(int x){
	if(x==fa[x])return x;
	else return fa[x]=get(fa[x]);
}
void merge(int u,int v){
	fa[get(u+n)]=get(v);fa[get(v+n)]=get(u);
}
int main(){
	scanf("%d %d",&n,&m);
	for(int i=1;i<=(n<<1);i++)fa[i]=i;
	for(int i=1;i<=m;i++){
		char pd;int u,v;getchar();
		scanf("%c %d %d",&pd,&u,&v);
		if(pd=='F')fa[get(u)]=get(v);
		if(pd=='E')merge(u,v);
	}
	for(int i=1;i<=n;i++){
		if(fa[i]==i)ans++;
	}
	printf("%d",ans);
	return 0;
}
2022/8/2 01:24
加载中...