hdu1232 畅通工程
来源:互联网 发布:校园网网络设计描述 编辑:程序博客网 时间:2024/05/16 18:26
#include<stdio.h>#include<cstring>int father[1001];int n,m;int find(int c){ if(father[c]!=c) father[c]=find(father[c]); return father[c];}void uun(int a,int b){ int aa=find(a); int bb=find(b); father[aa]=bb;}int main(){ int i,j; int a,b; while(scanf("%d",&n)&&n){ scanf("%d",&m); for(i=1;i<=n;i++) father[i]=i; for(i=1;i<=m;i++){ scanf("%d%d",&a,&b); uun(a,b); } int res=0; for(i=1;i<=n;i++) if(father[i]==i) ++res; res--; printf("%d\n",res); } return 0;}