一、题面

POJ2492

二、分析

并查集判断类别的题目感觉套路都差不多。

还是先判断在不在一个集合里,在一个集合里才能判断是否同类。

若不在一个集合里则需要将这两个点联系起来。

关于联系起来后关系的变化,画几个图后发现还是异或。

为什么用0表示同类,1表示异类?画几个图发现这样表示关系变换最简单。

三、AC代码

 #include <cstdio>
#include <iostream>
#include <cstring>
#include <fstream> using namespace std; const int MAXN = 2e3+;
int Par[MAXN];
bool Rank[MAXN]; void Init()
{
memset(Par, -, sizeof(Par));
memset(Rank, , sizeof(Rank));
} int Find(int x)
{
if(Par[x] == -)
return x;
int t = Par[x];
Par[x] = Find(Par[x]);
Rank[x] = Rank[t]^Rank[x];
return Par[x];
} int main()
{
//freopen("input.txt", "r", stdin);
int T, N, M;
scanf("%d", &T);
for(int Cnt = ; Cnt <= T; Cnt++)
{
if(Cnt!=)
printf("\n");
Init();
int x, y, fx, fy;
bool ans = true;
scanf("%d %d", &N, &M);
for(int i = ; i < M; i++)
{
scanf("%d %d", &x, &y);
if(ans)
{
fx = Find(x);
fy = Find(y);
if(fx == fy && Rank[x] == Rank[y])
{
ans = false;
}
else if(fx != fy)
{
Par[fx] = fy;
Rank[fx] = Rank[x]^(Rank[y]^);
}
}
}
if(ans)
{
printf("Scenario #%d:\nNo suspicious bugs found!\n", Cnt);
}
else
{
printf("Scenario #%d:\nSuspicious bugs found!\n", Cnt);
}
}
return ;
}

POJ_2492 A Bug's Life 【并查集】的更多相关文章

  1. hdu 1829 A Bug's Life(并查集)

                                                                                                    A Bu ...

  2. J - A Bug's Life 并查集

    Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes ...

  3. nyoj 209 + poj 2492 A Bug's Life (并查集)

    A Bug's Life 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 Background  Professor Hopper is researching th ...

  4. poj 2492A Bug's Life(并查集)

    /* 目大意:输入一个数t,表示测试组数.然后每组第一行两个数字n,m,n表示有n只昆虫,编号从1—n,m表示下面要输入m行交配情况,每行两个整数,表示这两个编号的昆虫为异性,要交配. 要求统计交配过 ...

  5. hdu - 1829 A Bug's Life (并查集)&&poj - 2492 A Bug's Life && poj 1703 Find them, Catch them

    http://acm.hdu.edu.cn/showproblem.php?pid=1829 http://poj.org/problem?id=2492 臭虫有两种性别,并且只有异性相吸,给定n条臭 ...

  6. POJ 2492 A Bug's Life 并查集的应用

    题意:有n只虫子,每次给出一对互为异性的虫子的编号,输出是否存在冲突. 思路:用并查集,每次输入一对虫子后就先判定一下.如果两者父亲相同,则说明关系已确定,再看性别是否相同,如果相同则有冲突.否则就将 ...

  7. poj2492_A Bug's Life_并查集

    A Bug's Life Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 34947   Accepted: 11459 D ...

  8. [poj2492]A Bug's Life(并查集+补集)

    A Bug's Life Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 34678   Accepted: 11339 D ...

  9. POJ 2492 A Bug's Life (并查集)

    A Bug's Life Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 30130   Accepted: 9869 De ...

  10. A Bug's Life____并查集

    English preparation: falsify     伪造:篡改:歪曲:证明...虚假 the sexual behavior of a rare species of bugs. 一种稀 ...

随机推荐

  1. 41、Aspera下载安装运用

    参考:http://www.so.com/linkm=aLVHG%2FgJT4HyuVeK4%2BxX2LMFvF6oTiTCaruHE20pwjRia7DmVI2hIVfmw%2BFNPczCtvX ...

  2. python 将字符串转化为可执行代码

    场景: 在一个遍历的的程序中,有一步需要调用函数,调用的方式是根据输入参数,从3个可供被调用的函数中,选择其中一个.所以写了一个dict={1:"function_a_name", ...

  3. Luogu 4213 【模板】杜教筛(Sum)

    当作杜教筛的笔记吧. 杜教筛 要求一个积性函数$f(i)$的前缀和,现在这个东西并不是很好算,那么我们考虑让它卷上另外一个积性函数$g(i)$,使$(f * g)$的前缀和变得方便计算,然后再反推出这 ...

  4. linux命令下载安装软件

    在ubuntu下获取对应内核源码命令 Ubuntu的包管理系统,为您提供了一种高效快捷的软件管理方式,您只要知道您需要什么软件就可以了,甚至不需要关心它存放在网络上的哪一台服务器中,而且绝大多数的软件 ...

  5. 第一次C语言作业:博客随笔

    1)你觉得大学和高中有什么差别?具体学习上哪? 大学自主学习较多,锻炼自己独立的品质.在学习上,增加了课程的深度和难度,由更多的活动. 2)我希望大学的师生关系是?阅读上述博客后对师生关系有何感想? ...

  6. css总结20:TCP通信协议WebSocket

    HTML5 WebSocket 1 介绍: WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. 在WebSocket API中,浏览器和服务器只需要做一个握手的动 ...

  7. 二度xml<一>

    又一次学习Xml,之前差不多都忘了,为了下半年的面试,为了工作重头来过....... 其实我觉得直接上代码来的更实际点,理论的东西,我们随便找点书看看就行. 下面的代码是为了打印出一个xml文件 xm ...

  8. ios PNG Crush error (PNG图片错误)

    我是这么解决的: I had the same problem. How to fix : Open up image with Preview -> File > Export > ...

  9. (转)关于Update语句的锁

    原文地址:http://www.cnblogs.com/wdfrog/p/3144020.html 环境:MSSQL2005,在Read Committed级别 语句A:begin tranUpdat ...

  10. div高度自适应窗口高度布局

    给body和html都设置height:100%:然后子元素用百分比设置高度