文章
3
粉丝
181
获赞
1
访问
23.6k
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
const int MAXN = 1e3+3;
int father[MAXN];
int find(int x){
return x==father[x]?x:(father[x]=find(father[x]));
}
void init(int N){
for(int i=1;i<=N;i++){
father[i] = i;
}
}
int main(){
int N,M;
while(cin>>N>>M){
if(N==0)
break;
init(N);
int a,b;
int cnt = 0;
for(int i=0;i<M;i++){
cin>>a>>b;
a = find(a);
b = find(b);
if(a!=b){
cnt++;
father[a] = b;
}
}
cout<<N-1-cnt<<endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发