hdu 1829 並查集(食物鏈的弱化版)
http://acm.hdu.edu.cn/showproblem.php?pid=1829
Problem Description
Background
Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs of the opposite gender. In his experiment, individual bugs and their interactions were easy to identify, because numbers were printed on their backs.
Problem
Given a list of bug interactions, decide whether the experiment supports his assumption of two genders with no homosexual bugs or if it contains some bug interactions that falsify it.
Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs of the opposite gender. In his experiment, individual bugs and their interactions were easy to identify, because numbers were printed on their backs.
Problem
Given a list of bug interactions, decide whether the experiment supports his assumption of two genders with no homosexual bugs or if it contains some bug interactions that falsify it.
Input
The first line of the input contains the number of scenarios. Each scenario starts with one line giving the number of bugs (at least one, and up to 2000) and the number of interactions (up to 1000000) separated by a single space. In the following lines, each
interaction is given in the form of two distinct bug numbers separated by a single space. Bugs are numbered consecutively starting from one.
Output
The output for every scenario is a line containing "Scenario #i:", where i is the number of the scenario starting at 1, followed by one line saying either "No suspicious bugs found!" if the experiment is consistent with his assumption about the bugs' sexual
behavior, or "Suspicious bugs found!" if Professor Hopper's assumption is definitely wrong.
Sample Input
2
3 3
1 2
2 3
1 3
4 2
1 2
3 4
Sample Output
Scenario #1:
Suspicious bugs found!
Scenario #2:
No suspicious bugs found!
Hint
Huge input,scanf is recommended./**
hdu 1829 並查集(食物鏈的弱化版)
題目大意:給定n個昆蟲,和m種戀愛關係,判斷是否有同性戀
解題思路:並查集i-A表示i屬於性別A若i-A和j-B,屬於同一類,表示i為性別A和j為性別B是同時發生或者同時不發生。類似於poj1182
*/
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <iostream>
using namespace std;
const int maxn=2005;
int par[maxn*2],_rank[maxn*2];
void init(int n)
{
for(int i=0; i<=n; i++)
{
par[i]=i;
_rank[i]=0;
}
}
int find(int x)
{
if(par[x]==x)
return x;
return par[x]=find(par[x]);
}
void unite(int x,int y)
{
x=find(x);
y=find(y);
if(x==y)return;
if(_rank[x]<_rank[y])
{
par[x]=y;
}
else
{
par[y]=x;
if(_rank[x]==_rank[y])
_rank[x]++;
}
}
bool same(int x,int y)
{
return find(x)==find(y);
}
int main()
{
int T,tt=0,n,m;
scanf("%d",&T);
while(T--)
{
int flag=0;
scanf("%d%d",&n,&m);
init(n*2);
while(m--)
{
int x,y;
scanf("%d%d",&x,&y);
if(same(x,y)||same(x+n,y+n))
{
flag=1;
}
else
{
unite(x,y+n);
unite(x+n,y);
}
}
printf("Scenario #%d:\n",++tt);
if(flag)
puts("Suspicious bugs found!\n");
else
puts("No suspicious bugs found!\n");
}
return 0;
}
相關文章
- 食物鏈(並查集)並查集
- 【並查集】【帶偏移的並查集】食物鏈並查集
- 食物鏈(並查集的簡單應用)並查集
- 【POJ 1182】食物鏈(並查集)並查集
- POJ-1182-食物鏈(並查集種類)並查集
- POJ 1182(食物鏈-另類做法【拆點】)[Template:並查集]並查集
- POJ 1182 食物鏈【擴充套件域 | 邊帶權並查集】套件並查集
- 並查集的應用:hdu 1213並查集
- HDU 1213 How Many Tables(並查集)並查集
- HDU-1272 小希的迷宮 並查集並查集
- HDU-3172 Virtual Friends 並查集+map並查集
- hdu5222 拓撲+並查集並查集
- hdu 1811 並查集+拓撲排序並查集排序
- HDU 1272小希的迷宮(簡單並查集)並查集
- HDU 1198Farm Irrigation(並查集)並查集
- HDU 5200 Tree (離線並查集)並查集
- HDU 3234 Exclusive-OR 擴充套件並查集套件並查集
- 食物鏈
- hdu4313 貪心並查集 || 樹形dp並查集
- HDU 3038 How Many Answers Are Wrong (帶權並查集)並查集
- HDU-3635 Dragon Balls 並查集路徑壓縮Go並查集路徑壓縮
- HDU-3461 Code Lock 並查集 + 二分求冪並查集
- 並查集到帶權並查集並查集
- 並查集(一)並查集的幾種實現並查集
- HDU 3938 Portal【並查集+upper_bound(第四個引數)】並查集
- 並查集的使用並查集
- 食物鏈題解
- 2013成都站F題||hdu4786 並查集 生成樹並查集
- 2012長春站D題||hdu4424 並查集並查集
- 並查集(二)並查集的演算法應用案例上並查集演算法
- 並查集的應用並查集
- 3.1並查集並查集
- 並查集(小白)並查集
- HDU5441 Travel (2015年長春網路賽,並查集)並查集
- 並查集的應用2並查集
- (轉載)並查集的作用並查集
- 並查集(Union Find)並查集
- 並查集應用並查集