【谁说虫子没有爱情? 虫子世界中的爱情之同性相吸】 poj 2492
2013-01-23 15:58
387 查看
一个科学家准备了一些虫子,把两个能够在一起的虫子放在一起,有异性恋,当然,还有同性恋。
问你,这些虫子中是否有同性恋。
这个用并查集的方法,只是在判断的时候稍麻烦一些...
问你,这些虫子中是否有同性恋。
这个用并查集的方法,只是在判断的时候稍麻烦一些...
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; int father[2005]; int a[2005]; int find(int tar) { int result=tar; while(result!=father[result]) { result=father[result]; } return result; } void Union(int a,int b) { int rx=find(a); int ry=find(b); if(rx!=ry) father[rx]=ry; } int main() { int nn,cc=0; //cin>>n; scanf("%d",&nn); while(nn--) { cc++; int m,n,x,y; //cin>>m>>n; scanf("%d%d",&m,&n); for(int i=1;i<=m;i++) father[i]=i; memset(a,-1,sizeof(a)); bool flag=false; for(int i=0;i<n;i++) { //cin>>x>>y; scanf("%d%d",&x,&y); if(flag) continue; if(a[x]==-1) { if(a[y]!=-1) Union(x,a[y]); a[x]=y; a[y]=x; } else{ if(a[y]==-1) { Union(y,a[x]); a[x]=y; a[y]=x; } else { if(find(x)==find(y)) { flag=true; continue; } else { Union(x,a[y]); Union(y,a[x]); } } } } if(flag) cout<<"Scenario #"<<cc<<":"<<endl <<"Suspicious bugs found!"<<endl; else cout<<"Scenario #"<<cc<<":"<<endl <<"No suspicious bugs found!"<<endl; cout<<endl; } return 0; }
相关文章推荐
- poj 2492 并查集(虫子交配,同性恋?)
- POJ 2492 虫子交配
- POJ 2492 A Bug's Life(虫虫危机)
- POJ 2492
- POJ 2492 A Bug's Life
- 第八天:poj1010(深度搜索+剪枝,之前完全没有接触过,所以不会,所以多学!!)
- POJ2492 A Bug's Life
- A Bug's Life POJ - 2492
- POJ 2492 A Bug's Life (并查集)
- 爱情没有如果
- POJ 2492 A Bug's Life
- 有声小说—《世界没有我们看见的那…
- 没有互联网的世界一隅
- poj 2492 A Bug's Life
- POJ-2492 A Bug's Life 并查集
- poj 2492 A Bug's Life
- 分布式系统的魅力 -- 随处可见的“不一致性”-- 计算机世界也没有“永动机”
- 2017ecjtu-summer training # 11 POJ 2492
- (简单) POJ 2492 A Bug's Life,二分染色。
- poj 1703 poj 2492 并查集 桥梁判AB组