HDU 1272 小希的迷宫
来源:互联网 发布:高仿包包淘宝上哪里买 编辑:程序博客网 时间:2024/05/16 02:50
题目大意:
中文题,题意不解释,同样是一道并查集的题,但是这道题里要判是否成环。
解题思路:
在并查集中我们如何判断是否成环呢?我们只要发现这两个点的根节点是同一个点,且这两个点之间有边,即可判断。
同时也要判断边数和点数之间的关系是不是edge+1=node
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define maxn 100005int fa[maxn];bool vis[maxn];void init(){ int i; for(i=0;i<maxn;i++) fa[i]=i;}int findfather(int x){ while(x!=fa[x]){x=fa[x];} return fa[x];}int main(){ int a,b,i; int flag,edge,node; while(1) { init(); flag=1; edge=node=0; memset(vis,false,sizeof(vis)); while(scanf("%d%d",&a,&b)==2&&a!=-1&&b!=-1) { if(a==0&&b==0&&edge==0) { printf("Yes\n"); continue; } if(a==0&&b==0) break; edge++; vis[a]=vis[b]=true; if(flag) { a=findfather(a); b=findfather(b); if(a!=b) fa[a]=b; else if(a==b) flag=0; } } if(a==-1&&b==-1) break; for(i=0;i<maxn;i++) if(vis[i]) node++; if(flag&&node==edge+1) printf("Yes\n"); else printf("No\n"); } return 0;}
0 0
- 小希的迷宫 hdu 1272
- HDU 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- HDU-1272-小希的迷宫
- HDU 1272 小希的迷宫
- [tree]hdu 1272 小希的迷宫
- HDU 1272 小希的迷宫
- Hdu 1272 小希的迷宫
- HDU-1272:小希的迷宫
- HDU 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- HDU 1272 小希的迷宫
- HDU 1272 小希的迷宫
- hdu 1272 小希的迷宫
- hdu 1272 小希的迷宫
- Android WebView 常见的九个问题
- NSLineBreakMode 的区别
- 关于jsp中get,post传值问题
- 黑马程序员Java笔记——集合篇(二)
- HDU 5371 manacher算法
- HDU 1272 小希的迷宫
- 内存优化及作用域(scope)
- 创建动态数组以及sort函数的用法 -- 字符串的漂亮度
- 嵌入式软件开发环境(4.3)------嵌入式软件程序设计
- 《C算法》读书笔记 (1):xutility(764) error C2039
- hdoj 2255 奔小康赚大钱 【KM算法模板题】
- hdu 2255
- 转战Androidstudio之引入jar和so
- iOS开发:Objective-C精确的货币计算