HDU 1829 A Bug's Life
来源:互联网 发布:淘宝无线网址怎么转换 编辑:程序博客网 时间:2024/05/22 16:58
题意:
n只虫子 m种交配方式 并给出m对交配 问 是否存在基… 0.0
思路:
简单的带权并查集 比POJ上那道食物链基础 而且用二分染色可以水过(由于性别只有两种…)
带权并查集可以利用权值维护不同集合间的“关系”
代码书写时注意getf函数中利用fa[x]更新x和根的关系 merge时注意fy权值利用x、y的权值的计算方法
代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define N 2010int fa[N],val[N];int n,m,T,t;int getf(int x){ if(x!=fa[x]) { int tmp=fa[x]; fa[x]=getf(fa[x]); val[x]=(val[x]+val[tmp])%2; } return fa[x];}int main(){ int i,u,v,flag,fu,fv; scanf("%d",&T); for(t=1;t<=T;t++) { scanf("%d%d",&n,&m); for(i=1;i<=n;i++) { fa[i]=i; val[i]=0; } for(i=1,flag=1;i<=m;i++) { scanf("%d%d",&u,&v); fu=getf(u); fv=getf(v); if(fu==fv) { if(val[u]==val[v]) flag=0; } else { fa[fv]=fu; val[fv]=(val[u]+val[v]+1)%2; } } printf("Scenario #%d:\n",t); if(flag) printf("No suspicious bugs found!\n"); else printf("Suspicious bugs found!\n"); puts(""); } return 0;}
0 0
- hdu 1829 A Bug's Life
- HDU 1829 A Bug's Life
- hdu 1829 A Bug's Life
- hdu 1829 A Bug's Life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- hdu 1829 A Bug's Life
- hdu 1829 A Bug's Life
- hdu 1829 A Bug's Life
- hdu 1829 A Bug's Life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- hdu 1829 A bug’s life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- HDU 1829 A Bug's Life
- A Bug's Life-HDU-1829
- 140714
- 如何在网络中 传输二叉树森林 (C++源代码实现)
- ubuntu12.04环境搭建
- DSP2812的CMD文件分析
- 的复合弓的发挥丰厚的风格的风格发的个
- HDU 1829 A Bug's Life
- Quartz深入浅出(一)
- 的符合的符合的符合的风格的风格的风格
- POJ 3468 A Simple Problem with Integers
- 网络体系结构
- 黑马程序员--java高新技术----枚举
- 法国恢复规划风格将风格和法国恢复规划
- 树宽高
- 7月14 SQL的whitespace保存