Hdu1272 - 小希的迷宫 - 并查集
2014-07-27 14:52
253 查看
#include<stdio.h> #include<string.h> int mark[100005]; int p[100005]; int find(int x) { while(p[x]!=x) { x=p[x]; } return p[x]; } int main() { int a,b,i; while(scanf("%d%d",&a,&b)!=EOF) { for(i=0;i<100005;i++) { p[i]=i; } if(a==-1&&b==-1) { break; } if(a==0&&b==0) { puts("Yes"); continue; } int flag=1; memset(mark,0,sizeof(mark)); int min=100005; int max=0; int count=0; while(a!=0||b!=0) { if(a>max) { max=a; } if(b>max) { max=b; } if(a<min) { min=a; } if(b<min) { min=b; } a=find(a); b=find(b); if(a!=b) { p[a]=b; } else { flag=0; } mark[a]=1; mark[b]=1; scanf("%d%d",&a,&b); } if(flag==0) { puts("No"); continue; } for(i=min;i<=max;i++) { if(p[i]==i&&mark[i]==1) { count++; } } if(count==1) { puts("Yes"); } else { puts("No"); } } }
相关文章推荐
- HDU 1272 小希的迷宫(并查集)
- HDU-1272-小希的迷宫 [并查集]
- HDU 1272 小希的迷宫(并查集)
- hdu 1272 小希的迷宫(并查集)
- HDU-1272 小希的迷宫 ( 并查集 )
- 【解题报告】 HDU 1272 小希的迷宫 并查集 判连通+判环
- HDU-1272 小希的迷宫 并查集
- HDU 1272小希的迷宫 并查集
- hdu 1272 小希的迷宫(并查集)
- hdu-1272小希的迷宫(并查集)
- HDU 1272 小希的迷宫 并查集 (判断任意2个点是否有且仅有一条路径可以相通)
- HDU - 1272 小希的迷宫之独木桥(并查集的简单应用)
- HDU 1272 小希的迷宫(并查集)
- HDU - 1272 小希的迷宫(简单并查集)
- hdu 1272 小希的迷宫(并查集)
- HDU - 1272 小希的迷宫(并查集判断无向环)
- hdu 1272 小希的迷宫 (并查集)
- hdu 1272 小希的迷宫(并查集)
- HDU 1272 小希的迷宫(并查集)
- HDU 1272 小希的迷宫 并查集 (判断任意2个点是否有且仅有一条路径可以相通)