HDU1272(小希的迷宫) 并查集
小希的迷宫
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 49592 Accepted Submission(s): 15408
整个文件以两个-1结尾。
#include<iostream>
#include<cstring>
using namespace std;
int pre[100005];
int vis[100005];int find(int x) //寻找根节点
{int r=x;while(r!=pre[r]){r=pre[r];}int i=x,j;while(r!=pre[i]) //亚索路径 {j=pre[i];pre[i]=r;i=j;}return r;
}int main()
{while(1){int a,b;for(int i=1;i<=100000;i++) //初始化,每个房间的根节点都是它自己。 pre[i]=i;memset(vis,0,sizeof(vis));int flag=0;while(scanf("%d%d",&a,&b)!=EOF){if(a==0&&b==0) break;if(a==-1&&b==-1) break;vis[a]=vis[b]=1;int fx=find(a),fy=find(b);if(fx!=fy)pre[fy]=fx;elseflag=1;}if(a==-1&&b==-1) break;int root=0;for(int i=1;i<=100000;i++) //检查全连通性 {if(vis[i]==1&&find(i)==i) // find(i)也可以写成pre【i】 root++;}if(root>1) flag=1;if(flag==1) cout<<"No"<<endl;elsecout<<"Yes"<<endl;}return 0;
}
对于一个整体,遍历每一个i,执行find(i),他们的根节点都相同,只有根节点那个房间的find[i]==i,所以必定会执行一次root++;
HDU1272(小希的迷宫) 并查集相关推荐
- HDOJ---1272 小希的迷宫[并查集]
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- HDU 1272 小希的迷宫 (并查集)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- B - 小希的迷宫 (并查集判断是否存在环)
题目描述 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个 ...
- HDU1272 小希的迷宫【并查集】
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- hdu1272 小希的迷宫
这是一道考察并查集的题目,刚开始想的复杂了,A过之后又整理了一下思路重写了一遍. 下面是整理过的代码和思路: 首先因为输入的编号可能不是连续的,所以要记录每个点走过没走过.还有就是输入是以0结束为标志 ...
- 集合数据hdu1272(小希迷宫 并查集)
查了好多资料,发现还是不全,干脆自己整理吧,最少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! Problem Description 前次Gardon的迷宫城堡小希玩了很久(见Probl ...
- hdu1272(小希迷宫 并查集)
Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 ...
- 小希的迷宫-HDU-1272(并查集or树性质)
题目链接:小希的迷宫 并查集: 无回路 单连通 并查集做,首先想到的是判断两个点是否连通,不连通就合并,已连通的话说明会形成回路,则可以判定No,交了一发错了. 想了一下没有考虑到多个连通域的情况,该 ...
- hdu 1272 小希的迷宫 (并查集)
小希的迷宫 Time Limit: 2000/1000 ...
最新文章
- Xcode:Task failed with exit 1 signal 0 {
- 字符串和json之间的互相转化
- Mvc中使用MvcSiteMapProvider实现站点地图之基础篇
- java 复制剪贴板_java_swing复制粘贴、剪贴板
- id3决策树_信息熵、信息增益和决策树(ID3算法)
- 判断一个指针有没有free_Free Code Camp的每个人现在都有一个档案袋
- 重命名myclipse中web项目名称的过程
- 深挖Kubernetes存储为何如此难及其解决方案
- Spring框架学习笔记07:基于XML配置方式使用Spring MVC
- lzw编码过程详解_【手打】LZW编码的C/C++实现
- CO-PA: 获利能力分析类型(基于成本核算、基于会计核算)解析
- BP神经网络算法基本原理,基于bp的神经网络算法
- autocad 如何摆正显示_AutoCAD使用技巧问答
- mysql 启动失败 详情_mysql启动失败一例
- 计算机专业座谈会问题,我院计算机专业开展专业抽检主题座谈会
- 程序的可维护性和可扩展性
- 课后作业——Day5
- 第五章 机械加工工艺过程设计 小结
- 教会舍友玩 Git (再也不用担心他的学习)
- 英译汉在线翻译器如何实现英文语音翻译中文