HDU1272 小希的迷宫 并查集
来源:互联网 发布:简单报表软件 编辑:程序博客网 时间:2024/05/19 17:06
题目大意:给出一个迷宫,如果他是连通的且没有平行路径,输出Yes,否则输出No。
并查集纪录每个点的连通状态,对于每输入的两个点,合并他们的同时,看他们是否有相同的父亲,若有,则不符合题意。
数据输入完之后,再判断一下根结点是否唯一便可知该迷宫是否连通了。
#include <cstdio>#include <iostream>#include <cstring>using namespace std;#define MAX 100010int par[MAX],s[MAX];bool flag;void Init(){ for(int i=1;i<MAX;i++) { par[i]=i; s[i]=0; }}int Find(int x){ while(par[x]!=x) x=par[x]; return x;}void Union(int x,int y){ x=Find(x); y=Find(y); if(x!=y) par[x]=y; else flag=false;}int main(){ int a,b; while(scanf("%d%d",&a,&b)) { if(a==-1&&b==-1) break; if(a==0&&b==0) { puts("Yes"); continue; } Init(); s[a]=s[b]=1; flag=true; Union(a,b); while(scanf("%d%d",&a,&b)) { if(a==0&&b==0) break; s[a]=s[b]=1; Union(a,b); } int k=0; for(int i=1;i<MAX;i++) { if(s[i]&&par[i]==i) k++; if(k>1) { flag=false; break; } } if(flag) puts("Yes"); else puts("No"); } return 0;}
1 0
- hdu1272(小希迷宫 并查集)
- HDU1272 小希的迷宫 并查集
- 【hdu1272】 小希的迷宫 (并查集)
- 小希的迷宫 hdu1272 并查集
- hdu1272小希的迷宫(并查集)
- 【并查集】-HDU1272-小希的迷宫
- hdu1272小希的迷宫 基础并查集
- hdu1272 小希的迷宫(并查集)
- hdu1272 小希的迷宫(并查集)
- HDU1272小希的迷宫--并查集入门题
- HDU1272 小希的迷宫 【并查集】
- Hdu1272 - 小希的迷宫 - 并查集
- HDU1272 小希的迷宫 (并查集)
- HDU1272 小希的迷宫(基础并查集)
- hdu1272 - 小希的迷宫 (基础并查集)
- hdu1272 -- 小希的迷宫(并查集)
- hdu1272小希的迷宫(并查集)
- HDU1272 小希的迷宫 并查集
- 校园二手交易平台项目总结 2013年12月23日,5:57:29
- MFC学习笔记之二----------MFC框架程序及消息映射
- 批处理文件
- windows-7-64下memcached的安装测试
- BootStrap入门教程 (四)
- HDU1272 小希的迷宫 并查集
- CentOS下找不到eth0设备的解决方法
- Badboy自动化测试工具10 导出脚本用于JMeter性能测试
- MFC学习笔记之三————区分窗口类对象以及窗口&&四种获得DC方式画图
- Linux文件夹权限如何更改?
- listview和gridview执行getView执行多次的问题解决办法!
- Sqrt(x)
- 九度1088:剩下的树
- cocos2dx3.x利用sokcet创建客户端和服务端 (三)