HDU_1829
2015-07-12 20:47
302 查看
//哎,怎么说呢,第一次的时候看别人的模板做出来的,觉得没得意思,后来自己又写了一遍,提交总是WA,然后又修改,问别人,终于发现自己的错误所在,原来我还没用并操作,就进行判断,活该错误,看来以后要多多思考,多多检查,这样自己才会进步。
代码:
代码:
#include<stdio.h> #define max 1000005 int p[max]; int rank[max]; int a[max]; int b[max]; int find(int k) { int temp; if(p[k]!=k) { temp=p[k]; p[k]=find(p[k]); rank[k]=(rank[k]+rank[temp])%2; } return p[k]; } int bing(int x,int y) { int x1=find(x); int y1=find(y); if(x1==y1) { return 0; } p[y1]=x1; rank[y1]=(rank[x]-rank[y]+1)%2; return 1; } int main() { int k; scanf("%d",&k); int cnt=1; while(k--) { int m,n,i; scanf("%d%d",&m,&n); for(i=0; i<=m; i++) { p[i]=i; rank[i]=0; } int ok=0; for(i=0;i<n;i++) { scanf("%d%d",&a[i],&b[i]); bing(a[i],b[i]); } for(i=0;i<n;i++) { int a1=find(a[i]); int b1=find(b[i]); if(a1==b1) { if((rank[a[i]]-rank[b[i]]+2)%2==0) { ok=1; } } } if(ok!=0) { printf("Scenario #%d:\nSuspicious bugs found!\n\n",cnt++); } else { printf("Scenario #%d:\nNo suspicious bugs found!\n\n",cnt++); } } return 0; }
相关文章推荐
- 提高Interface Builder高效工作的8个技巧
- hdu 5120
- C++接口实现总结
- JNA调用C动态库dll、so
- bzoj3810: [Coci2015]Stanovi 记忆化搜索
- 20150712,关于C。
- ListView连续调用getview问题分析及解决
- node.js入门
- [LeetCode][JavaScript]Add and Search Word - Data structure design
- android 滚轮刻度尺的实现
- 哈希的原理和代价
- android中view 的setTag,getTag方法的作用
- GNU Linux中的SO_RCVLOWAT和SO_SNDLOWAT说明
- setInterval与 clearInter联系与区别
- java-缓冲流对输入输出设备的包装
- 一致性哈希算法(consistent hashing)PHP实现
- vmware虚拟机按钮是灰色的解决办法
- APP界面如何在细节上提升气质?
- makefile中关于all和.PHONY .cpp.o
- Android Widget工作原理详解(一) 最全介绍