poj 1611 The Suspects(并查集)

来源:互联网 发布:java获取不到cookie 编辑:程序博客网 时间:2024/06/03 21:42
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;#define MAXN 30005int fa[MAXN];int set_find(int d){    if(fa[d]<0)return d;    return fa[d]=set_find(fa[d]);}void set_join(int x,int y){    x=set_find(x);    y=set_find(y);    if(x!=y)fa[x]=y;}int main(){    int n,m,k;    int x,y;    int fa0;//节点0的父节点    int sum;//    while(~scanf("%d%d",&n,&m))    {        if(n==0&&m==0)break;        memset(fa,-1,sizeof(fa));        for(int i=0; i<m; ++i)        {            scanf("%d",&k);            scanf("%d",&x);            for(int j=1; j<k; ++j)            {                scanf("%d",&y);                set_join(x,y);            }        }        fa0=set_find(0);        sum=0;        for(int i=0; i<n; ++i)        {            if(set_find(i)==fa0)            {                ++sum;            }        }        printf("%d\n",sum);    }    return 0;}

0 0
原创粉丝点击