POJ 2492 A Bug's Life 并查集
2015-08-10 09:59
459 查看
#include <iostream> #include<cstdio> using namespace std; int f[3000],relation[3000]; void init(int n) { for(int i=0;i<=n;i++) { f[i]=i; relation[i]=1; } } int find(int x) { if(x==f[x]) return x; int tem=f[x]; f[x]=find(f[x]); relation[x]=(relation[x]+relation[tem]+1)%2; return f[x]; } void uni(int a,int b,int x,int y) { f[x]=y; relation[x]=(relation[a]-relation[b])%2; } int main() { // freopen("cin.txt","r",stdin); int t,n,m,x,y,flag,a,b; scanf("%d",&t); for(int cnt=1;cnt<=t;cnt++) { scanf("%d%d",&n,&m); init(n); flag=0; while(m--) { scanf("%d%d",&x,&y); if(flag) continue; a=find(x),b=find(y); if(a==b&&relation[x]==relation[y]) { flag=1; continue; } uni(x,y,a,b);//错这里了 } printf("Scenario #%d:\n",cnt); if(flag) printf("Suspicious bugs found!\n"); else printf("No suspicious bugs found!\n"); printf("\n"); } return 0; }
相关文章推荐
- 常见排序算法基于JS的实现
- HTML焦点与键盘事件
- js获取时间的函数
- 用ajax传递json对象数组的方法
- caffe安装指南
- jquery 图片背景透明度(支持IE5/IE6/IE7)
- 每三行一种颜色
- jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
- jQuery 判断图片是否加载完成方法汇总
- 基于jQuery弹出层的9种效果
- 如何解决IE6下的双倍margin问题
- JavaScript MD5 与 Java MessageDigest 加密后的值相同
- jQuery源码的几篇文章
- JavaScript高级程序设计笔记 事件冒泡和事件捕获
- poj3592 Instantaneous Transference tarjan缩点+建图
- jQuery: 图片不完全按比例自动缩小
- 官网的shader stencilBuffer篇(续)
- javascript实现连续赋值
- JS 获取滚动条位置
- jQuery+css3实现Ajax点击后动态删除功能的方法