zoukankan      html  css  js  c++  java
  • POJ 1611 The Suspects

      简单的并查集的应用,统计和 0 联通的点的个数,约等于模板题。。。。。。手残没有判断两个点的根节点是否相等。。。。。贡献了五个WA......

     1 #include <iostream>
     2 #include <cstdlib>
     3 #include <cstdio>
     4 
     5 using namespace std;
     6 
     7 int stu[30010],num[30010];
     8 
     9 int find(int x)
    10 {
    11     return stu[x] == x ? x : stu[x] = find(stu[x]);
    12 }
    13 
    14 void merge(int a,int b)
    15 {
    16     int fa = find(a);
    17     int fb = find(b);
    18     if(fa != fb)
    19     {
    20         stu[fb] = fa;
    21         num[fa] += num[fb];
    22     }
    23 }
    24 
    25 int main()
    26 {
    27     int n,m,s;
    28 
    29     int i,a,b;
    30 
    31     while(cin>>n>>m && (n||m))
    32     {
    33         for(i = 0;i <= n; ++i)
    34         {
    35             stu[i] = i;
    36             num[i] = 1;
    37         }
    38         for(i = 0;i < m; ++i)
    39         {
    40             cin>>s;
    41             if(s > 0)
    42                 cin>>a;
    43             while(--s)
    44             {
    45                 cin>>b;
    46                 merge(a,b);
    47             }
    48         }
    49 
    50         cout<<num[find(0)]<<endl;
    51     }
    52     return 0;
    53 }
    View Code
  • 相关阅读:
    markdown常用语法
    利用 js-xlsx 实现选择 Excel 文件在页面显示
    HTML中meta标签
    wxpy模块
    Python基础(3)
    Python基础(2)
    Python基础(1)
    Python之递归锁与互斥锁
    Python进程与线程
    Docker
  • 原文地址:https://www.cnblogs.com/zmx354/p/3253019.html
Copyright © 2011-2022 走看看