您的位置:首页 > 其它

杭电 1213 How Many Tables

2014-08-05 18:58 381 查看
#include"stdio.h"

#define N 1050

int s
;

void chushihua()

{

    int i;

    for(i=0;i<N;i++)

    s[i]=i;

}

int find(int x)

{

    while(s[x]!=x) x=s[x];

    return x;

}

int fri(int x,int y)

{

    if(find(x)!=find(y))

    {

        s[find(y)]=find(x);//不要误认为是他们俩个认亲的方式是他们俩的事,而是从他们老大下手,他们老大亲了他们就亲了

        return 1;

    }

    return 0;

}

int main()

{

    int m,n;

    scanf("%d",&m);

    int a,b;

    int c1,c2;

    while(m--)

    {

        int sum=0;

        chushihua();

        scanf("%d %d",&a,&b);

        int i,j;

        for(i=1;i<=b;i++)

        {

            scanf("%d%d",&c1,&c2);

            sum=sum+fri(c1,c2);

        }

 /*       for(j=1;j<=a;j++)

        {

            if(s[j]==j)

            sum++;

        }

        */

        printf("%d\n",a-sum);

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  杭电 hdu 1213 畅通工程