文章
85
粉丝
0
获赞
502
访问
10.3k
#include <bits/stdc++.h>
using namespace std;
const int maxn =1005;
int fa[maxn];
int find(int x) {
if (x == fa[x]) {
return x;
}
fa[x] = find(fa[x]);
return fa[x];
}
int main() {
int N,M;
while (cin >> N ) {
if (N==0) {
break;
}
cin >> M;
int sum = 0;
for (int j=1; j<=N; j++) {
fa[j] =j;
}
for (int i = 0; i < M; i++) {
int x,y;
cin >> x >> y;
int fx = find(x);
int fy = find(y);
if (fx != fy) {
fa[fx] = fy;
sum++;
}
}
cout << N-sum-1 << endl;
}
}
登录后发布评论
暂无评论,来抢沙发