题目传送门


题意:
每行两个数字,表示两个虫子相互喜欢,只有异性才能相互喜欢,所以求里面有没有基佬或者拉拉= =。
思路:
种类并查集,只有两种状态,父节点与自身性别相同,父节点与自身性别不同。
更新并判断。

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <queue>
using namespace std;
int M,N;
struct node{int fa;int p;
}F[3000];
void init()
{for (int i = 0; i <= 3000; i++){F[i].fa = i;F[i].p = 0;}return ;
}
int find(int x)
{if (x==F[x].fa) return x;int t = F[x].fa;F[x].fa = find(F[x].fa);F[x].p ^= F[t].p;return F[x].fa;
}
int main(void)
{freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);int T;scanf("%d", &T);for (int t = 1; t <= T; t++){init();scanf("%d %d", &N, &M);int flag = 0;while (M--){int x, y;scanf("%d %d", &x, &y);int a = find(x);int b = find(y);if (a!=b){F[a].fa = b;F[a].p = (F[x].p-F[y].p+1)%2;}else{if (F[x].p == F[y].p)flag = 1;}}printf("Scenario #%d:\n",t);printf("%s\n\n", flag==1?"Suspicious bugs found!":"No suspicious bugs found!");}return 0;
}

POJ-2492-A Bug's Life [并查集]相关推荐

  1. POJ 1703 Find them, Catch them(并查集高级应用)

    POJ 1703 Find them, Catch them(并查集高级应用) 手动博客搬家:本文发表于20170805 21:25:49, 原地址https://blog.csdn.net/sunc ...

  2. POJ 1417 True Liars(路径压缩并查集+DP背包问题)

    POJ 1417 True Liars(路径压缩并查集+DP背包问题) http://poj.org/problem?id=1417 题意: 给出p1+p2个人,其中p1个是好人,p2个是坏人.然后有 ...

  3. POJ 2492 A Bug's Life 带权并查集

    题意: 思路: mod2 意义下的带权并查集 如果两只虫子是异性恋,它们的距离应该是1. 如果两只虫子相恋且距离为零,则它们是同性恋. (出题人好猥琐啊) 注意: 不能输入一半就break出来.... ...

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

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

  5. poj 2492 A Bug's Life

    文章的意思不解释了,就是一个并查集,不过要判断下和根节点是否为同一个性别. r[50000];     0代表同性,1代表异性,本身与本身自然的同性 按路径压缩的并查集,一般情况下 只有2层 r[x] ...

  6. POJ - 2513 Colored Sticks(字典树+并查集+欧拉回路)

    题目链接:点击查看 题目大意:给出n个木棍,问若两两相连,最终能否构成一根长直木棍,相连的规则是两个木棍的相接端点的颜色需要保持相同 题目分析:关于这个题目,我们可以将每个木棍视为一条边,每个木棍的两 ...

  7. POJ 3694 (tarjan缩点+LCA+并查集)

    好久没写过这么长的代码了,题解东哥讲了那么多,并查集优化还是很厉害的,赶快做做前几天碰到的相似的题. 1 #include <iostream> 2 #include <algori ...

  8. POJ 3694 Network ★(边双连通分量+并查集缩点+LCA)

    [题意]一个无向图可以有重边,下面q个操作,每次在两个点间连接一条有向边,每次连接后整个无向图还剩下多少桥(每次回答是在上一次连边的基础之上) [分析]好题,做完后涨了很多姿势~ 普通做法当然就是每加 ...

  9. Rochambeau POJ - 2912 (枚举和加权并查集+路径压缩)找唯一裁判

    题意:有n个人玩石头剪刀布,有且只有一个裁判.除了裁判每个人的出拳形式都是一样的. a<b表示b打败a,a=b表示a和b出拳一样,平手.a>b表示a打败b. 给出m个回合的游戏结果,问能否 ...

  10. POJ 3694 Network(tarjan+lca+并查集)

    题目 给定一张NNN个点MMM条边的无向连通图,然后执行QQQ次操作,每次向图中添加一条边,并且询问当前无向图中"桥"的数量. 题解 先求出图中所有的边双,然后缩点 令c[x],c ...

最新文章

  1. javascript封装与多态的体现
  2. Java面试宝典系列之基础面试题String、变量、类与对象、集合类、SSH(三)
  3. Linux内核驱动之延时---内核超时处理【转】
  4. 黑马程序员_java总结_网络编程基础
  5. (第二篇)Vue计算属性、侦听器、过滤器
  6. Linux软件源apt,仓库,包的概念
  7. mysql 亿级高并发_亿级流量系统架构之如何设计每秒十万查询的高并发架构.md
  8. [Android] 环境优化配置Android Studio发展NDK
  9. 【每日一题】Leetcode 刷题 二叉树-树的遍历 介绍
  10. 锆石FPGA---verlog语法篇
  11. 贼好用的对比工具--BeyondComper
  12. access和wps哪个一样_同是办公软件,wps跟office有什么区别
  13. EasyDSS点播视频添加水印的位置与定义的位置不匹配怎么办?
  14. 目前住院病人需要护士护理,这样做不仅需要大量护士,而且由于不能随时观察病人情况,还可能会延误抢救时即。某医院呢打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并分析开发这个系统的可行性
  15. 关于matlab中help无法使用的解决办法(点开后是空白)
  16. Kafka消费组rebalance原理
  17. 计算机系教师评学总结,信息技术教学心得3篇
  18. 迎战2022 - Python中文翻译《环球时报》整篇文章实战演示,调用有道翻译API接口进行英文转中文翻译实例训练
  19. 网站盈利模式分析分类——别人的网站是怎么赚钱的
  20. 学生成绩abcde怎样划分_中考成绩中ABCD等级代表的分数段是什么?

热门文章

  1. 2019年猪年颁奖典礼、公司年会、跨年晚会、科技会议、年终答谢会之幕布背景展板PSD模板-第二部分...
  2. 【预测模型】基于差分进化算法优化BP神经网络实现数据预测matlab源码
  3. “沃派36元预付费终端合约产品包” 青少年是否买单?
  4. 第5章:文件类工具软件
  5. 第三方软件测试有什么作用?
  6. 外勤人员管理的问题如何解决
  7. android 触摸屏驱动分析,Android 触摸屏驱动代码分析(ADC 类型触摸屏 CPU:s3c
  8. 电脑店PE+CDlinux+360系统急救盘+Ubuntu+fedora+backtrack(上)(by 星空武哥)
  9. 深度学习参数初始化(二)Kaiming初始化 含代码
  10. CAD如何快速转换为PDF