1042: Fight

Time Limit: 1 Sec  Memory Limit:
128 MB

Submit: 26  Solved: 8

[Submit][Status][

pid=1042">Web
Board
]

Description

尽管格斗是很须要技术的一项运动。可是打群架却不须要什么技术,并且场面一般比較混乱,分不清谁和谁是一伙的,仅仅能看出谁和谁不是一伙的,并且打群架常常会出现猪一样的队友。误伤自己人。

如今给你一些信息,请你根据这些信息推断是否一定存在猪一样的队友。

Input

包括多组測试例子。
第一行输入两个数N(1<N<10000),M(1<M<1000000). N表示參与打架的人数,M表示M次攻击。

接下来M行输入两个整数a, b (1<=a, b<=N),表示a攻击了b。

Output

若一定存在猪一样的队友输出YES, 否则输出NO。每一个输出占一行。

Sample Input

3 3
1 2
2 3
1 3 4 2
1 2
3 4

Sample Output

YES
NO

HINT

a攻击b且b攻击c 则可判断 a,c同伙,若a攻击c则有矛盾,即必定存在误伤。

Source

tyh

解析:參见ACdream 1056 Bad Horse (种类并查集)

AC代码:

#include <bits/stdc++.h>
using namespace std; const int maxn = 10005; int f[2 * maxn + 2]; int Find(int x){
return x == f[x] ? x : f[x] = Find(f[x]);
} void unin(int x, int y){
x = Find(x);
y = Find(y);
if(x != y) f[x] = y;
} int main(){
#ifdef sxk
freopen("in.txt", "r", stdin);
#endif // sxk int n, m, a, b;
while(~scanf("%d%d", &n, &m)){
for(int i=1; i<=2 * maxn; i++) f[i] = i;
int flag = 0;
for(int i=0; i<m; i++){
scanf("%d%d", &a, &b);
if(Find(a) == Find(b) || Find(a + maxn) == Find(b + maxn))
flag = 1;
else{
unin(a, b + maxn);
unin(a + maxn, b);
}
}
puts(flag ? "YES" : "NO");
}
return 0;
}

HLJU 1042 Fight (种类并查集)的更多相关文章

  1. NOI2001|POJ1182食物链[种类并查集 向量]

    食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 65430   Accepted: 19283 Description ...

  2. NOIP2010关押罪犯[并查集|二分答案+二分图染色 | 种类并查集]

    题目描述 S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨气值”(一个正整数值)来表示 ...

  3. POJ1703Find them, Catch them[种类并查集]

    Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 42416   Accepted: ...

  4. poj1417(种类并查集+dp)

    题目:http://poj.org/problem?id=1417 题意:输入三个数m, p, q 分别表示接下来的输入行数,天使数目,恶魔数目: 接下来m行输入形如x, y, ch,ch为yes表示 ...

  5. poj1733(种类并查集+离散化)

    题目链接: http://poj.org/problem?id=1733 题意: 输入n表示有一个长度为n的0,1字符串, m表示接下来有m行输入, 接下来的m行输入中x, y, even表示第x到第 ...

  6. poj 1182:食物链(种类并查集,食物链问题)

    食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44168   Accepted: 12878 Description ...

  7. pku 1703(种类并查集)

    题目链接:http://poj.org/problem?id=1703 思路;个人觉得本质上还是和带权并查集一样的,只不过多了一个MOD操作,然后就是向量关系图稍微改动一下就变成种类并查集了,对于本题 ...

  8. hdu 3038 How Many Answers Are Wrong(种类并查集)2009 Multi-University Training Contest 13

    了解了种类并查集,同时还知道了一个小技巧,这道题就比较容易了. 其实这是我碰到的第一道种类并查集,实在不会,只好看着别人的代码写.最后半懂不懂的写完了.然后又和别人的代码进行比较,还是不懂,但还是交了 ...

  9. 【进阶——种类并查集】hdu 1829 A Bug's Life (基础种类并查集)TUD Programming Contest 2005, Darmstadt, Germany

    先说说种类并查集吧. 种类并查集是并查集的一种.但是,种类并查集中的数据是分若干类的.具体属于哪一类,有多少类,都要视具体情况而定.当然属于哪一类,要再开一个数组来储存.所以,种类并查集一般有两个数组 ...

随机推荐

  1. Java笔记13:统计文件中每个字符出现的次数

    一.代码实现 import java.io.*; import java.util.*; /** 功能:统计文件中每个字符出现的次数 思路: 1.定义字符读取(缓冲)流 2.循环读取文件里的字符,用一 ...

  2. C语言面试问题

    内容源自:C语言面试题大汇总 P.S.只摘取了自己觉得可能会被问到的以及不会的. static有什么用途?(请至少说明两种) 1.限制变量的作用域2.设置变量的存储域 引用与指针有什么区别? 1) 引 ...

  3. SSMybatis整合(二) -- 加入SpringMVC进行多表级联操作

    ---上节课我们讲了Mybatis的单表增删改查,关于代码我注释的比较详细,我相信初学的小伙伴还是多少能有一些收获的. - 第一集传送门:http://blog.csdn.net/jacxuan/ar ...

  4. Codeforces 385 C Bear and Prime Numbers

    题目链接~~> 做题感悟:这题属于想法题,比赛时直接做的 D 题.可是处理坐标处理的头晕眼花的结果到最后也没AC. 解题思路: 由于查询的时候仅仅考虑素数,so~我们仅仅考虑素数就能够,这就须要 ...

  5. Android Exception 11(baidumapsdk(15405): Authentication Error errorcode: 102 uid)

    08-12 16:06:12.622: E/baidumapsdk(15405): Authentication Error errorcode: 102 uid: null appid -1 msg ...

  6. nginx location静态文件配置

    进入nginx安装目录的conf目录下,修改nginx.conf文件,在一个server{}中添加 一个location 部分配置代码如下 root@ubuntu:/usr/local/nginx/c ...

  7. Mac系统使用命令行快捷打开Sublime

    本篇文章由:http://xinpure.com/use-command-line-shortcuts-to-open-the-mac-system-sublime/ 方法一 使用软链接 ln -s ...

  8. 关于数组中加入相同的view的试验

    随便新建一个工程,然后在控制器中粘贴如下代码 - (void)viewDidLoad { [super viewDidLoad]; UIView * view = [[UIView alloc]ini ...

  9. 使用css3属性transition实现页面滚动

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content ...

  10. 微信小程序入门 第一个页面搭建

    首先搭建首页 微信小程序与web程序非常相似  有非常多的组件  多个组件形成一个页面 每个组件有自己一些特殊的属性来控制显示效果 通过js注册事件控制响应 首先使用swiper实现一个banner轮 ...