C - 卿学姐与诡异村庄

Time Limit: 4500/1500MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others)

Submit  Status

日复一日,年复一年,春去秋来。

卿学姐终于从天行廖那里毕业啦。出山的卿学姐首先来到了一个诡异的村庄。

在这个村庄中,只有两种人,一种是好人,一种是坏人。

好人只说真话,坏人只说假话。

村庄虚伪的平静由于卿学姐的到来,终于被打破了。

人们开始互相指控,每个人都会说另外一个人是否是好人。

卿学姐修行途中只学会了膜法,却不谙世事,所以卿学姐无法确认哪些人是好人,哪些人是坏人。

但是机智的卿学姐意识到可以通过这些人的指控来分辨。

现在告诉你村庄中每个人指控谁是否为好人,请问是否有个合理的分类能够符合所有的指控。

Input

第一行一个整数 N N,表示村庄总共有 N N个人,村民从 1 1开始编号到 N N

1≤N≤100000 1≤N≤100000

接下来 N N行,每行两个整数, ai,t ai,t,如果 t t是 1 1,那么说明第 i i个人认为第 ai ai个人是好人。如果 t t是 2 2,那么说明第 i i个人认为第 ai ai个人是坏人。

1≤ai≤N 1≤ai≤N

Output

如果存在一个好人坏人的分类能够满足所有的指控,那么输出"Time to show my power",否则输出"One face meng bi"

Sample input and output

Sample Input Sample Output
3
2 2
3 1
1 2
Time to show my power
3
2 2
3 2
1 2
One face meng bi

Hint

第一组样例中,如果1是好人,2和3都是坏人,就能解释得通这些指控

黑色数字为说真话,红色数字为说假话。

第一样例:

第二样例:

看两张图就能够知道,如果存在不成立的情况,必然是有一个人自相矛盾的,所以只要假设1是说真话,则将1所说的值并起来,而且还要将1是说假话,将假话的值

的相反的值并起来。

AC代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdio>
#include<queue>
#include<set>
using namespace std;
#define T 100000+50
#define inf 0x3f3f3f3f
typedef long long ll;int f[T<<1];void Init()
{for(int i=0;i<T;++i){f[i] = i;}
}int find(int x)
{int tmp = x;while(x!=f[x]){x = f[x];}while(tmp!=x){int t = f[tmp];f[tmp] = x;tmp = t;}return x;
}int main()
{
#ifdef zscfreopen("input.txt","r",stdin);
#endifint n,m,i,j,k;while(~scanf("%d",&n)){Init();int u,v;for(i=1;i<=n;++i){scanf("%d%d",&u,&v);if(v==1){int tx = find(u*2-1),ty=find(i*2-1);if(tx!=ty){f[tx] = ty;}tx = find(u*2),ty = find(i*2);if(tx!=ty){f[tx] = ty;}}else {int tx = find(u*2),ty=find(i*2-1);if(tx!=ty){f[tx] = ty;}tx = find(u*2-1),ty = find(i*2);if(tx!=ty){f[tx] = ty;}}}bool flag = false;for(i=1;i<=n;++i)if(find(i*2)==find(i*2-1)){flag = true;break;}if(flag)printf("One face meng bi\n");else printf("Time to show my power\n");}return 0;
}

卿学姐与诡异村庄(并查集)相关推荐

  1. cdoj 1328 卿学姐与诡异村庄 Label:并查集 || 二分图染色

    卿学姐与诡异村庄 Time Limit: 4500/1500MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  ...

  2. cdoj1344卿学姐种美丽的花

    地址:http://acm.uestc.edu.cn/#/problem/show/1344 题目: 卿学姐种美丽的花 Time Limit: 8000/4000MS (Java/Others)    ...

  3. D - 卿学姐与魔法

    卿学姐与魔法 Time Limit: 1200/800MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit Sta ...

  4. CDOJ 1292 卿学姐种花 暴力 分块 线段树

    卿学姐种花 题目连接: http://acm.uestc.edu.cn/#/problem/show/1292 Description 众所周知,在喵哈哈村,有一个温柔善良的卿学姐. 卿学姐喜欢和她一 ...

  5. CDOJ 1292 卿学姐种花(暴力,分块,线段树)

    众所周知,在喵哈哈村,有一个温柔善良的卿学姐. 卿学姐喜欢和她一样美丽的花.所以卿学姐家的后院有很多的花坛. 卿学姐有n 个花坛,一开始第 i个花坛里有 A[i] 朵花.每过一段时间,卿学姐都会在花坛 ...

  6. 卿学姐种花(线段树)

    卿学姐种花 Time Limit: 0/7500MS (Java/Others)     Memory Limit: 0/220000KB (Java/Others) 众所周知,在喵哈哈村,有一个温柔 ...

  7. 2016 UESTC Training for Data Structures O - 卿学姐种美丽的花 树状数组+等差数列

    O - 卿学姐种美丽的花 Time Limit: 8000/4000MS (Java/Others)     Memory Limit: 125535/65535KB (Java/Others) Su ...

  8. A - 卿学姐与公主(线段树+单点更新+区间极值)

    A - 卿学姐与公主 Time Limit: 2000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

  9. 卿学姐与公主(线段树区间求最大值)

    A - 卿学姐与公主 Time Limit: 2000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

最新文章

  1. 车辆检测--DAVE: A Unified Framework for Fast Vehicle Detection and Annotation
  2. 2016 - 1 - 19NSOpertation的依赖关系和监听
  3. 基于python实现opencv视频去抖动
  4. [MATLAB粒子模拟]Energy Vx(X) Vy(X) Vz(X)
  5. Greenplum【环境搭建 01】CentOS Linux release 7.5 环境单机版详细安装配置步骤+问题解决(含安装包资源)
  6. 史上最详细之Centos7安装与配置Redis6
  7. DBGridEh使用指南
  8. MSSQL 'CREATE/ALTER PROCEDURE' 必须是查询批次中的第一个语句。
  9. mysql 命令大小写_MySQL连接方式及大小写问题
  10. flume与log4j的整合
  11. Windows XP启用telnet服务图文教程
  12. html5小游戏抓包,wireshark抓包分析
  13. excel格式和csv格式的区别(关键差异)
  14. Treap树应用-bzoj 1862 GameZ游戏排名系统问题
  15. wince 百度地图懒人包_百度导航车载wince版|百度地图winCE版 V10.9.2 安卓版 下载_当下软件园_软件下载...
  16. Python开源项目合集(网页框架)
  17. oracle支持utf8字符集,AL32UTF8/UTF8(Unicode)数据库字符集含义
  18. 做视频自媒体,选择一个合适的剪辑软件很重要,这些或许适合你
  19. 我的世界服务器神秘修改节点,我的世界神秘节点指令 | 手游网游页游攻略大全...
  20. 学3d游戏建模要用到什么软件

热门文章

  1. 图书系统(查询图书内容)
  2. 自建idea授权服务器
  3. 【pytorch】 grad、grad_fn、requires_grad()、with torch.no_grad() 、net.train()、net.eval():记录一次奇怪的debug经历
  4. Nginx服务器支持.htaccess的方法
  5. 你真的会在阳光下拍照片么?
  6. 【分享Oracle练习二】
  7. WinDBG 技巧:列出模块(DLL/EXE)里面所有的符号(symbol)
  8. 构建栅格地图matlab代码
  9. 基于PHP+MySQL教务管理系统的设计与实现
  10. 基于STM32的RFID监控系统设计