POJ 1611

作者: vanadia | 来源:发表于2016-08-31 03:25 被阅读0次

POJ 1611

题意

有n个人参加了m个社团,同一个社团互相接触的人有感染非典的概率,已知0号同学是疑似病例,求总的疑似病例的人数。

思路

求并查集。

#include <iostream>
#include <cstdio>

using namespace std;

const int MAXN = 300001;
int pre[MAXN];
int n,m;
int find(int i){
    int j = i,temp;
    while(pre[i] != i)
        i = pre[i];
    while(j != i){
        temp = pre[i];
        pre[j] = i;
        j = temp;
    }
    return i;
}

void merge(int b,int c){
    int t1 = find(b);
    int t2 = find(c);
    if (t2 != t1){
        pre[t2] = t1;
    }
    return;
}

int main(){
    int i,j,k,c,d,sum;
    while((scanf("%d%d",&n,&m)==2)&&(n||m)){
        for(i = 0; i<n;i++){
            pre[i] = i;
        }
        for (int i = 1; i <= m; ++i)
        {
            scanf("%d%d",&k,&d);
            for(j = 1;j<k;j++){
                scanf("%d",&c);
                merge(c,d);

            }
        }
        c = find(0);
        sum = 1;
        for(i=1;i<n;i++){
            if(find(i) == c)
                sum++;
        }
        printf("%d\n",&sum);
    }
    return 0;
}

相关文章

  • 再贴一次并查集

    F - The Suspects POJ - 1611

  • POJ 1611 - The Suspects

    POJ 1611 - The Suspects Severe acute respiratory syndrome...

  • POJ 1611

    POJ 1611 题意 有n个人参加了m个社团,同一个社团互相接触的人有感染非典的概率,已知0号同学是疑似病例,求...

  • POJ 1611

    POJ 1611 题意 有n个人参加了m个社团,同一个社团互相接触的人有感染非典的概率,已知0号同学是疑似病例,求...

  • POJ 1611

    The Suspects Severe acute respiratory syndrome (SARS), an...

  • 2019-01-29 [POJ-1611],

    [POJ-1611] include include using names...

  • POJ——1611 The Suspects

    题目大意 这题将的就是有n个人,被分成m组(每个人可能在几个组里面),其中0号人物肯定是患有非典。而与0号同组的人...

  • The Suspects POJ - 1611

    Severe acute respiratory syndrome (SARS), an atypical pne...

  • POJ-1611 The Suspects

    1、题意## 为了防止SARA传播,NSYSU收集所有学生组的成员列表,一旦群组中的成员是可疑人员,群组中的所有成...

  • Chapter9——图——最小生成树

    1. 题目列表 POJ1789(prim算法) POJ2485(prim) POJ1258(prim) POJ30...

网友评论

      本文标题:POJ 1611

      本文链接:https://www.haomeiwen.com/subject/epsqettx.html