zoukankan      html  css  js  c++  java
  • poj2492

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

    跟1703一样 两种状态 并查集+偏移量

    两只虫子发射架关系 判断有没有虫子是同性恋 两两合并 在一棵树上找右没有两个节点跟跟节点的关系(只有0,1两种)是相同的,相同就是gay

    注意一点 两组数据间有空行 

    View Code
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 int father[2001],num[2001],r[2001];
     4 int find(int x)
     5 {
     6     if(x!=father[x])
     7     {
     8         int y = father[x];
     9         father[x] = find(father[x]);
    10         num[x] = (num[x]+num[y])%2;
    11     }
    12     return father[x];
    13 }
    14 void union1(int x, int y)
    15 {
    16     int x1 = find(x);
    17     int y1 = find(y);
    18     if(x1!=y1)
    19     {
    20         if(r[x1]>r[y1])
    21         {
    22             father[y1] = x1;
    23             num[y1] = (num[x]-num[y]+1)%2;
    24         }
    25         else
    26         {
    27             father[x1] = y1;
    28             num[x1] = (num[y]-num[x]+1)%2;
    29             if(r[x1] == r[y1])
    30             r[y1]++;
    31         }
    32     }
    33 }
    34 int main()
    35 {
    36     int i, j, m, n,t,a,b,g;
    37     long k;
    38     scanf("%d", &t);
    39     while(t--)
    40     {
    41         k++;
    42         scanf("%d%d", &n, &m);
    43         int flag = 0;
    44         for(i = 1 ; i <= n ; i++)
    45         {
    46             father[i] = i;
    47             r[i] = 0;
    48             num[i] = 0;
    49         }
    50         j = 0;
    51         for(i = 1 ; i <= m ; i++)
    52         {
    53             scanf("%d%d", &a,&b);
    54             if(a!=b)
    55             union1(a,b);
    56             if(find(a) == find(b)&&num[a]==num[b])
    57             flag = 1;
    58         }
    59         printf("Scenario #%ld:\n",k);
    60         if(flag == 0)
    61         printf("No suspicious bugs found!\n");
    62         else
    63         printf("Suspicious bugs found!\n");
    64         if(t!=0)
    65         printf("\n");
    66     }
    67     return 0;
    68 }
  • 相关阅读:
    nohup 运行后台程序
    配置了yum本地源
    rhel 6.7 离线安装docker
    java timer 执行任务
    遇到的sql关键字
    mysql事务和锁
    Mysql命令大全
    mysql keepalived
    mysql主从复制
    mysql从binlog恢复数据
  • 原文地址:https://www.cnblogs.com/shangyu/p/2581903.html
Copyright © 2011-2022 走看看