题解
2025-10-10 22:13:07
发布于:江苏
0阅读
0回复
0点赞
#include<iostream>
using namespace std;
int fa[1010];
int find(int x){
if(fa[x]==x){
return x;
}
return fa[x]=find(fa[x]);
}
int main(){
int n,m;
while(cin>>n>>m){
if(n==0){
return 0;
}
int cnt=n;
for(int i=1;i<=n;i++){
fa[i]=i;
}
for(int i=0;i<m;i++){
int x,y;
cin>>x>>y;
if(find(x)!=find(y)){
fa[find(x)]=find(y);
cnt--;
}
}
cout<<cnt-1<<'\n';
}
return 0;
}
这里空空如也







有帮助,赞一个