求助大佬,第二个样例WA了
查看原帖
求助大佬,第二个样例WA了
385360
马克稽姆楼主2021/7/26 17:53

似乎是第四组数据错了

#include<bits/stdc++.h>
using namespace std;
int n,m=114514,a,b,fa[1000],ans;
int find(int x){
	if(fa[x]==x) return x;
	return fa[x]=find(fa[x]);
}
void U(int x,int y){
	fa[find(x)]=find(y);
}
int main(){
	while(1){
		cin>>n>>m;
		if(n==0) return 0;
		for(int i=1;i<=n;i++) fa[i]=i;
		for(int i=1;i<=m;i++){
			cin>>a>>b;
			U(a,b);
		}
		for(int i=1;i<=n;i++){
			if(fa[i]==i) ans++;
			fa[i]=0;
		}
		cout<<ans-1<<endl;
		ans=0;
	}
}
2021/7/26 17:53
加载中...