#include<stdio.h>
const int MAXN=101;
int F[MAXN];
int find(int t) {
if (F[t]==-1) return t;
return F[t]=find(F[t]);
}
void bring (int a, int b) {
int t1=find(a);
int t2= find(b);
if (t1!=t2) F[t1]=t2;
}
int main() {
int n,m;
while (scanf("%d",&n),n) {
scanf("%d",&m);
for (int i=1; i<=n; i++) F[i]=-1;
int a,b;
while(m--) {
scanf("%d%d",&a, &b) ;
bring(a,b);
}
int res=0;
for (int i=1; i<=n; i++)
if (F[i]==-1) res++;
printf("%d\n",res-1);
}
return 0;
}
暢通工程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.