poj1611 the suspects(并查集)

来源:互联网 发布:nginx搭建wss环境 编辑:程序博客网 时间:2024/06/11 00:15

并查集裸题。

#include<cstdio>#define N 30005 int fa[N],n,m;int find(int x){    return fa[x]==x?x:fa[x]=find(fa[x]);}int main(){//  freopen("a.in","r",stdin);    while(1){        int ans=1;        scanf("%d%d",&n,&m);        if(n==0&&m==0) break;        for(int i=0;i<n;++i) fa[i]=i;        while(m--){            int k,a,b;            scanf("%d%d",&k,&a);            for(int i=1;i<k;++i){                scanf("%d",&b);                int xx=find(a),yy=find(b);                if(xx!=yy) f[yy]=xx;            }        }        for(int i=1;i<n;++i)            if(find(i)==find(0)) ans++;        printf("%d\n",ans);    }    return 0;} 
原创粉丝点击