• hdu1829 A Bug's Life 基础种类并查集


      题目的大意可以理解为:A爱B,B爱C ……给出一系列爱恋的关系,推断有没有同性恋。

      思路是把相同性别的归为一个集合(等价类),异性的异性为同性。

      

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 const int N=2010;
     7 int f[N], r[N], flag;
     8 void init()
     9 {
    10     for(int i=1;i<N;i++)
    11     {
    12         f[i]=i;
    13         r[i]=0;
    14     }
    15 }
    16 int Find(int x)
    17 {
    18     if(x==f[x]) return x;
    19     return f[x]=Find(f[x]);
    20 }
    21 void Link(int x,int y)
    22 {
    23     int a=Find(x), b=Find(y);
    24     if(a==b) flag=0;
    25     else
    26     {
    27         if(r[x]) f[y]=Find(r[x]);
    28         else r[x]=y;
    29         if(r[y]) f[x]=Find(r[y]);
    30         else r[y]=x;
    31     }
    32 }
    33 int main()
    34 {
    35     //freopen("test.txt","r",stdin);
    36     int x,y,n,m,cas,k;
    37     scanf("%d",&cas);
    38     for(k=1;k<=cas;k++)
    39     {
    40         scanf("%d%d",&n,&m);
    41         init();
    42         flag=1;
    43         while(m--)
    44         {
    45             scanf("%d%d",&x,&y);
    46             if(!flag) continue;
    47             Link(x,y);
    48         }
    49         printf("Scenario #%d:
    ",k);
    50         if(flag) printf("No suspicious bugs found!
    ");
    51         else printf("Suspicious bugs found!
    ");
    52         printf("
    ");
    53     }
    54     return 0;
    55 }
    View Code
  • 相关阅读:
    一些常用的代码评审工具
    Atlassian旗下一干team build软件
    Jira功能全介绍
    项目经验分享
    网址、下载地址
    Java 字节码解读
    Gitlab 安装
    博客园设置
    mybatis 遇到空串无法判断
    Shell 脚本入门
  • 原文地址:https://www.cnblogs.com/Potato-lover/p/3938548.html
Copyright © 2020-2023  润新知