• (并查集)The Suspects --POJ --1611


    链接:

    http://poj.org/problem?id=1611

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82830#problem/B

    代码:

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    #define N 30005
    
    int a[N];
    int n, m;
    
    int Find(int x)
    {
        if(a[x]!=x)
            a[x] = Find(a[x]);
        return a[x];
    }
    
    int main()
    {
    
        while(scanf("%d%d", &n, &m), n+m)
        {
            int p, px, py, s, x, y;
    
             for(int i=0; i<=n; i++)
                a[i] = i;
    
            for(int i=0; i<m; i++)
            {
                scanf("%d%d", &s, &x);
    
                for(int j=1; j<s; j++)
                {
                    scanf("%d", &y);
    
                    px = Find(x);
                    py = Find(y);
                    if(px!=py)
                        a[py] = px;
                }
            }
            int sum=0;
            p = Find(0);
    
             for(int i=0; i<n; i++)
                if(Find(i)==p)
                sum++;
    
             printf("%d
    ", sum);
    
        }
        return 0;
    }
    勿忘初心
  • 相关阅读:
    List sort()方法
    解析器
    beautifulsoup库
    break 语句
    enumerate函数
    POJ 1915 Knight Moves
    POJ 1745 Divisibility
    POJ 1731 Orders
    POJ 1664 放苹果
    POJ 1606 Jugs
  • 原文地址:https://www.cnblogs.com/YY56/p/4735596.html
Copyright © 2020-2023  润新知