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;}