【HDU - 1272】小希的迷宫 (并查集判环)

题干:

上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路)。小希现在把她的设计图给你,让你帮忙判断她的设计图是否符合她的设计思路。比如下面的例子,前两个是符合条件的,但是最后一个却有两种方法从5到达8。 

Input

输入包含多组数据,每组数据是一个以0 0结尾的整数对列表,表示了一条通道连接的两个房间的编号。房间的编号至少为1,且不超过100000。每两组数据之间有一个空行。 
整个文件以两个-1结尾。 

Output

对于输入的每一组数据,输出仅包括一行。如果该迷宫符合小希的思路,那么输出"Yes",否则输出"No"。 

Sample Input

6 8  5 3  5 2  6 4
5 6  0 08 1  7 3  6 2  8 9  7 5
7 4  7 8  7 6  0 03 8  6 8  6 4
5 3  5 6  5 2  0 0-1 -1

Sample Output

Yes
Yes
No

解题报告:

          其实这个bk数组也可以用f[t1]==f[t2] 来判断(放在bool类型的merge中)。这题不仅要考虑成环,还要考虑是否所有点都是联通的,即所有点的getf()都是一个值(即只有一个根节点)。

          还有个坑点,如果上来就输入0 0,那么需要输出Yes,这里需要特判一下,不然就啥都不输出了,就错了。

AC代码:

#include<cstdio>
#include<queue>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
const int MAX = 100000 +5;
int f[MAX];
bool bk[MAX];
int n,m;
int getf(int v) {return f[v] == v ? v : f[v] = getf(f[v]);
}
void merge(int u,int v) {int t1 = getf(u);int t2 = getf(v);if(t1!=t2)f[t2]=t1;
}
int main()
{int flag,u,v;int maxx;while(1) {for(int i = 1; i<MAX; i++) f[i]=i,bk[i]=0;flag = 0 ;maxx=0;scanf("%d%d",&u,&v);if(u == -1 && v == -1) break;else if(u == 0 && v == 0) {puts("Yes");continue;}merge(u,v);bk[u]=bk[v]=1;//这里别忘更新bkwhile(scanf("%d%d",&u,&v)) {if(u == 0 && v == 0) break;if(getf(u) == getf(v) && (bk[u]&&bk[v])) flag=1;bk[u]=bk[v]=1;merge(u,v);maxx = max(u,v);}int cnt = 0;if(flag == 0) {for(int i = 1; i<=maxx; i++) {if(bk[i]==1) {if(getf(i) ==i) cnt++;}if(cnt >1) break;}if(cnt != 1 ) {flag = 1; //别想当然的写break。。。这是if中的不是for中的!!}}if(flag == 1) puts("No");else puts("Yes");} return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东北育才高中2021年高考成绩查询,东北育才学校国际部2021年招生计划

学校每年的招生计划都会发生变化&#xff0c;并不是一成不变的&#xff0c;所以大家一定要时刻关注招生计划。在报考一所学校的时候&#xff0c;大家要有计划性的选择报考学校&#xff0c;要先去了解学校大概招收多少学生&#xff0c;这样大家在报考学校时候的才能更好地去选择…

html启动word程序,Word工具栏直接启动外部程序

Word工具栏直接启动外部程序互联网 发布时间&#xff1a;2008-10-06 15:13:37 作者&#xff1a;佚名 我要评论从Word工具栏中也能直接启动外部程序&#xff0c;这样操作起来非常方便。我们以从Word启动计算器举例说明。单击“工具”菜单下的“自定义”命令&#xff0c;打…

linux ip brd不一致_3 个方便的命令行网速度测试工具 | Linux 中国

用这三个开源工具检查你的互联网和局域网速度。-- Ben Nuttall能够验证网络连接速度使您可以控制计算机。使您可以在命令行中检查互联网和网络速度的三个开源工具是 Speedtest、Fast 和 iPerf。SpeedtestSpeedtest 是一个旧宠。它用 Python 实现&#xff0c;并打包在 Apt 中&am…

【HDU - 1266 】Reverse Number(模拟,数字分位数处理)

题干&#xff1a; Welcome to 20064 computer college programming contest! Specially, I give my best regards to all freshmen! You are the future of HDU ACM! And now, I must tell you that ACM problems are always not so easy, but, except this one... Ha-Ha! G…

语言nomogram校准曲线图_R语言实现Cox模型校准度曲线绘制

01研究背景这是关于cox模型的第二篇文章&#xff0c;上一篇文章分享了运用Lasso回归如何筛选变量&#xff0c;将筛选后的变量绘制Nomogram图&#xff0c;本章分享构建模型后&#xff0c;如何绘制校准曲线。cox模型的验证不同于Logistic回归&#xff0c;cox的结局包括时间和状态…

【HDU - 5744 】Keep On Movin (回文串性质,贪心思维,不是水题)

题干&#xff1a; Professor Zhang has kinds of characters and the quantity of the ii-th character is aiai. Professor Zhang wants to use all the characters build several palindromic strings. He also wants to maximize the length of the shortest palindromic s…

国开大学计算机应用基础作业二,国家开放大学《计算机应用基础》形考作业二答案解析 (2)...

.题目1在Word 2010中编辑文本时&#xff0c;编辑区显示的“网格线”在打印时( )出现在纸上。选择一项&#xff1a;A. 全部 B. 不会C. 一部分 D. 大部分 正确答案是&#xff1a;不会题目2Word 2010 处理的文档内容输出时与页面显示模式显示的( )。选择一项&#xff1a;A. 一部分…

转成数组_JavaScript之数组扁平化

今天给大家分享一下JavaScript的数组扁平化。1. 扁平化数组的扁平化&#xff0c;就是将一个嵌套多层的数组 array (嵌套可以是任何层数)转换为只有一层的数组。举个例子&#xff0c;假设有个名为 flatten 的函数可以做到数组扁平化&#xff0c;效果就会如下&#xff1a;知道了效…

【POJ - 2676】Sudoku (经典深搜,dfs数独)

题干&#xff1a; Sudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as shown on the Figure. In some of the cells are written decimal digits from 1 to 9. The other cells are empty. The goal is to fill…

计算机专业408题目结构,2019考研408计算机组成原理知识:计算机系统层次结构

计算机组成原理在408计算机综合考试中所占分值45分&#xff0c;说明是必考的重点内容&#xff0c;考生要在这部分多花时间复习。以下是新东方在线整理的的计算机组成原理知识&#xff0c;希望大家认真看。2019考研408计算机组成原理知识:计算机系统层次结构1. 计算机硬件的基本…

overleaf表格_latex 表格制作

在制作latex表格时遇到了以下问题&#xff1a;一、合并单元格包括多行合并、多列合并、多行多列同时合并。多行合并&#xff1a; \multirow{2}{*}{Multi-Row}多列合并&#xff1a; \multicolumn{2}{|c|}{Multi-Column}多行多列同时合并&#xff1a;\multicolumn{2}{|c|}{\multi…

【HihoCoder - 1268】九宫 (dfs,深搜)

题干&#xff1a; 小Hi最近在教邻居家的小朋友小学奥数&#xff0c;而最近正好讲述到了三阶幻方这个部分&#xff0c;三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中&#xff0c;使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格&#xff0c;在…

河北师范大学计算机应用技术分数线,2019年河北师范大学各专业录取分数线

高考总分达到或超过某一分数线的考生档案&#xff0c;才有资格被招生高校调阅并选择录取。各高校不同专业每一年的录取分数线有所区别&#xff0c;下文是小编给大家整理的2019年河北师范大学各省各专业高考录取分数线详情&#xff0c;供参考&#xff01;2019河北师范大学各省各…

mysql in partition_MySQL Partition分区扫盲

MySQL从5.1.3开始支持Partition&#xff0c;你可以使用如下命令来确认你的版本是否支持Partition&#xff1a;mysql> SHOW VARIABLES LIKE %partition%;--------------------------| Variable_name | Value |--------------------------| have_partitioning | YES |--------…

【HihoCoder - 1662】查找三阶幻方 (九宫)(暴力)

题干&#xff1a; 给定一个N x M的矩阵&#xff0c;请你数一数其中有多少个3 x 3的子矩阵可以构成三阶幻方&#xff1f; 如果3 x 3的矩阵中每一行、每一列和两条对角线上的3个数之和都相等&#xff0c;我们就认为其构成一个三阶幻方。 Input 第一行包含两个整数N和M。(1 …

mysql主从结构主数据库_mysql主从结构主数据库中的日志

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

计算机英语反思总结,计算机在英语教学中辅助作用的反思

计算机在英语教学中辅助作用的反思 (3页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;9.9 积分题目&#xff1a;计算机在英语教学中辅助作用的反思科目&#xff1a; SS 学校&#xff1a; 灵石第一职…

C 的Pair用法分类整理(精)

1 pair的应用 pair是将2个数据组合成一个数据&#xff0c;当需要这样的需求时就可以使用pair&#xff0c;如stl中的map就是将key和value放在一起来保存。另一个应用是&#xff0c;当一个函数需要返回2个数据的时候&#xff0c;可以选择pair。 pair的实现是一个结构体&#xff…

mysql创建数据库没有默认值报错_详解Mysql数据库date, datetime类型设置0000-00-00默认值(default)报错问题...

现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00",出现异常:Invalid default value for time原因:在命令行窗口查看当前的sql_mode配置:select sql_mode;结果如下:ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE,ERROR_FO…

计算机专业英语霍洪涛出版社,计算机专业英语(霍洪涛)课件Chapter 4.ppt

计算机专业英语(霍洪涛)课件Chapter 4谢谢 * Chapter 4 Operating System Review 前驱&#xff0c;前任 后继&#xff0c;继任 常见的 足够的 有时&#xff1b;在某种情况下 不局限于 目录&#xff0c;存货清单 支付、支出 伪码 * predecessor successor commonplace not limit…