HDU 1272 小希的迷宫(并查集 + 判断是否有回路)
来源:互联网 发布:英语台词 软件 编辑:程序博客网 时间:2024/05/18 12:02
题目分析: 题目的意思就是判断一个图中的每两个点是否连同,且图中没有回路
算法分析:先用并查集判断这个图是不是有多个连通块,然后只需判断 边数是否等于顶点数-1 即可,这个题有一个比较坑的点就是 当输入为 0 0 的时候 也要输出 Yes
代码:
#include <cstdio>#include <cstring>int bin[100005];int used[100005];int edge;int findx(int x){ int r=x; while (bin[r]!=r) r=bin[r]; return r;}void merge(int x,int y){ int fx,fy; fx=findx(x); fy=findx(y); if (fx!=fy) bin[fx]=fy;}int main(){ //freopen("1.txt","r",stdin); int num,maxn; int sum; int a,b; while (scanf("%d%d",&a,&b)==2 && a!=-1 && b!=-1) { if (a==0 && b==0) { printf("Yes\n"); continue; } memset(used,0,sizeof(used)); maxn=-1; num=0; sum=0; for (int i=1;i<=100004;i++) bin[i]=i; edge=1; if (a>maxn) maxn=a; if (b>maxn) maxn=b; used[a]=1; used[b]=1; merge(a,b); while (scanf("%d%d",&a,&b)==2 && a!=0 && b!=0) { merge(a,b); if (a>maxn) maxn=a; if (b>maxn) maxn=b; used[a]=1; used[b]=1; edge++; } for (int i=1;i<=maxn;i++) if (used[i]==1) {// printf("%d ",i); sum++; }// printf("\n"); for (int i=1;i<=sum;i++) if (bin[i]==i && used[i]==1) num++;// printf("num=%d ",num);// printf("edge=%d ",edge);// printf("sum=%d \n",sum); if (num!=1) printf("No\n"); else { if (edge==sum-1) printf("Yes\n"); else printf("No\n"); } } return 0;}
0 0
- HDU 1272 小希的迷宫(并查集 + 判断是否有回路)
- hdu1272小希的迷宫 并查集判断图中是否有回路
- hdu 1272小希的迷宫(并查集判断无向图回路)
- HDU 1272 小希的迷宫 (并查集判断回路、连通)
- HDU 1272 小希的迷宫【并查集判断无向图回路】
- HDU 1272 小希的迷宫 并查集判断回路和连通
- hdu 1272 小希的迷宫 并查集->如何判断是否组成一串 即一棵树
- HDU 1272 小希的迷宫(并查集,判断是否成环)
- HDU 1272 小希的迷宫 [并查集+回路判定]
- hdu1272小希的迷宫(并查集--判断是否有环的存在)
- HDU-1272 小希的迷宫(并查集判断输入的数据是否能成为一颗树)
- 杭电1272~~小希的迷宫——并查集判断是否存在环
- 小希的迷宫(并查集,未知点,限定一个老大,判断是否有圈)
- hdu 1272 小希的迷宫(利用树的性质和并查集判断树)
- HDU 1272--小希的迷宫【并查集,有值得注意的地方】
- HDU 1272 小希的迷宫(并查集:判断连通且结构为树)
- HDU:1272 小希的迷宫(并查集+无向图成树判断)
- hdu 1272 小希的迷宫 并查集
- Hibernate之缓存详解
- 启发式搜索技术A*【译】
- 入门篇:利用Babel来转化你的ES2015脚本初步
- Makefile经典教程
- TCP连接管理
- HDU 1272 小希的迷宫(并查集 + 判断是否有回路)
- 用eclipse调试uboot工程
- 【opencv练习02-Mat的初始化、两种复制】
- HTTP 方法:Get与Post的区别
- 数据结构实验之栈七:出栈序列判定
- Fragment学习心得
- 手动脱FSG 2.0壳并修复IAT
- 常量指针与指针常量辨析
- 【HD 1232】畅通工程(并查集)