zoukankan      html  css  js  c++  java
  • poj1703

    与1182一个思路 并查集加偏移量 不过比1182好做一些

    View Code
     1 #include <stdio.h>
     2 int father[100005], r[100005];
     3 void init(int n)
     4 {
     5     int i;
     6     for(i = 1 ; i <= n ; i++)
     7     {
     8         r[i] = 0;
     9         father[i] = i;
    10     }
    11 }
    12 int find(int x)
    13 {
    14     if(x!=father[x])
    15     {
    16         int pre = father[x];
    17         father[x] = find(father[x]);
    18         r[x] = (r[x]+r[pre])%2;
    19     }
    20     return father[x];
    21 }
    22 void union1(int x, int y,int d)
    23 {
    24     father[x] = y;
    25     r[x] = d%2;
    26 }
    27 int main()
    28 {
    29     int t, m, n, i, j, k, num, x, y;
    30     char c;
    31     scanf("%d", &t);
    32     while(t--)
    33     {
    34         scanf("%d%d", &m, &n);
    35         init(m);
    36         while(n--)
    37         {
    38             getchar();
    39             scanf("%c %d %d", &c,&x,&y);
    40             int pa = find(x);
    41             int pb = find(y);
    42             if(c == 'D')
    43            {
    44                if(pa!=pb)
    45                union1(pa,pb,r[y]-r[x]+1);
    46            }
    47            else
    48            {
    49                if(pa == pb)
    50                {
    51                    if(r[x] == r[y])
    52                    printf("In the same gang.\n");
    53                    else
    54                    printf("In different gangs.\n");
    55                }
    56                else
    57                printf("Not sure yet.\n");
    58            }
    59         }
    60     }
    61     return 0;
    62 }
  • 相关阅读:
    awk查看本机IP+查看本网段mac
    wget
    kvm安装,使用,优化
    方向
    bindview+dlz(mysql)
    页面侧滑栏效果
    数据库的事务理解
    页面平衡移动进出的效果
    返回键弹出是否退出对话框
    引导页之页面等待3秒跳转
  • 原文地址:https://www.cnblogs.com/shangyu/p/2578514.html
Copyright © 2011-2022 走看看