zoukankan      html  css  js  c++  java
  • poj 1703 Find them, Catch them

    就是一些结点,分属两个帮派,也可能都不属于。input分两种,一种是给出异派的两个点,另一种是询问两个点的关系。这题和poj 1182相似,而且还要简单一些。

     1 #include <stdio.h>
     2 #include <string.h>
     3 #define N 100005
     4 int fa[N];
     5 bool side[N];
     6 int find(int n)
     7 {
     8     if(fa[n] == n) return n;
     9     int t = fa[n];
    10     fa[n] = find(t);
    11     side[n] = side[n]^side[t];
    12     return fa[n];
    13 }
    14 void comb(int a,int b)
    15 {
    16     int x=find(a), y=find(b);
    17     if(x == y) return ;
    18     fa[y] = x;
    19     side[y] = !(side[a]^side[b]);
    20 }
    21 int main()
    22 {
    23     int T,n,m,a,b;
    24     char cmd;
    25     scanf("%d",&T);
    26     while(T--)
    27     {
    28         scanf("%d%d",&n,&m);
    29         getchar();
    30         for(int i=1; i <= n; i++) fa[i] = i;
    31         while(m--)
    32         {
    33             scanf("%c %d%d",&cmd,&a,&b);
    34             getchar();
    35             if(cmd == 'A')
    36             {
    37                 if(n == 2)
    38                     printf("In different gangs.\n");
    39                 else if(find(a) != find(b))
    40                     printf("Not sure yet.\n");
    41                 else if(side[a] == side[b])
    42                     printf("In the same gang.\n");
    43                 else printf("In different gangs.\n");
    44             }
    45             else comb(a,b);
    46         }
    47         memset(side,0,sizeof side);
    48     }
    49     return 0;
    50 }
  • 相关阅读:
    mysql 位操作支持
    统计代码行数
    git merge的参数--squash的用处
    bash和zsh切换
    nginx 添加https支持
    查看Memcache运行状况
    unkown host mac 解决
    react-redux中的重要API解析
    js 同步延时调用
    从输入 URL 到浏览器渲染完成
  • 原文地址:https://www.cnblogs.com/lzxskjo/p/2761689.html
Copyright © 2011-2022 走看看