小希的迷宫 HDU - 1272
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1e5;
int a,b;
int p[N+];
// 标记走过的房间
bool vis[N+];
int find(int x)
{
if(p[x]!=x)
p[x]=find(p[x]);
return p[x];
}
void Union(int a,int b)
{
int pa=find(a);
int pb=find(b);
if(pa!=pb)
p[pb]=pa;
}
int main()
{
while(cin>>a>>b)
{
if(a==-&&b==-)
break;
// a,b 均为 0 时,也要输出 Yes;空树也是树
if(a==&&b==)
{
cout<<"Yes"<<endl;
continue;
}
for(int i=;i<=N;i++)
p[i]=i,vis[i]=;
int maxx=;
bool flag=;
while(a||b)
{
vis[a]=;
vis[b]=;
//是否成环
if(find(a)==find(b))
flag=;
Union(a,b);
// 找出房间编号的最大值
maxx=max(maxx,max(a,b));
cin>>a>>b;
}
if(flag)
cout<<"No"<<endl;
else
{
int cnt=;
// 计算共有几个符合条件的联通集合
for(int i=;i<=maxx;i++)
if(vis[i]&&p[i]==i)
cnt++;
// 这里可能存在不止一个集合,这样的话 ans 值就大于 1 了,这样就不满足题意了,就该输出 No
if(cnt==)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
}
return ;
}
小希的迷宫 HDU - 1272的更多相关文章
- (并查集)小希的迷宫 --HDU -- 1272
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1272 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- 小希的迷宫 HDU - 1272 (并查集)
思路: 当图中的集合(连通子图)个数为1并且边数等于顶点数-1(即改图恰好为一棵生成树)时,输出Yes. 此题的坑:(1) 如果只输入0 0算作一组数据的话答案应该输出Yes (2) 输入数据可能并不 ...
- hdu 1272 小希的迷宫 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272 第二条并查集,和畅通工程的解法类似.判断小希的迷宫不符合条件,即有回路.我的做法是,在合并两个集 ...
- HDU 1272小希的迷宫(裸并查集,要判断是否构成环,是否是连通图)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1272 小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 1272 小希的迷宫(并查集+最小生成树+队列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272 小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 1272 小希的迷宫(java实现)
小希的迷宫 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 Submi ...
- hdu 1272 小希的迷宫
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU 1272 小希的迷宫 (并查集)
小希的迷宫 题目链接: http://acm.hust.edu.cn/vjudge/contest/123393#problem/L Description 我们的小伙伴Bingo身为大二学长,他乐于 ...
随机推荐
- java服务器端线程体会
一个完整的项目包括服务器和客服端 服务器端初步编写: (1) 服务器端应用窗口的编写 (服务器类Server): 包括窗口和组件的一些设置, 添加一些客服端的元素,如客服端在线用户表(Vector), ...
- 基于MySQL+MHA+Haproxy部署高可用负载均衡集群
一.MHA 概述 MHA(Master High Availability)是可以在MySQL上使用的一套高可用方案.所编写的语言为Perl 从名字上我们可以看到.MHA的目的就是为了维护Master ...
- Nginx 缓存命中率
# 在http头部显示命中方式 location ~* ^.*\.(js|ico|gif|jpg|jpeg|png)$ { proxy_redirect off; proxy_set_header H ...
- Basic Auth攻击
1.Basic Auth认证简介 Basic身份认证,是HTTP 1.0中引入的认证方案之一.虽然方案比较古老,同时存在安全缺陷,但由于实现简单,至今仍有不少网站在使用它. 例如Apche Tomca ...
- Ubuntu下LAMP的环境配置教程
总体来说,Ubuntu下安装LAMP环境是比较简单的,只需按照命令行执行即可,记录操作以备不时之需. 一,首先更新Ubuntu里面所有的软件 sudo apt-get update 二.之后安装Apa ...
- Centos7 使用Docker 部署mssql 2017
mssql是.NET的标配,一般使用.NET的人基本都用mssql. 以前mssql只能支持windows平台,从微软打出 拥抱开源 的口号开始,mssql的2017 版本,开始支持linux系统. ...
- golang单元测试简述
Golang中内置了对单元测试的支持,不需要像Java一样引入第三方Jar才能进行测试,下面将分别介绍Golang所支持的几种测试: 一.测试类型 Golang中单元测试有功能测试.基准测试. ...
- SAP MM 采购订单与相关合同的价格差异问题分析
SAP MM 采购订单与相关合同的价格差异问题分析 笔者所在的项目里,一般生产性物料PO的价格是来自于合同价格的,而合同的价格来自于采购信息记录的价格,业务部门不允许PO里随便改价格的. 但是业务部门 ...
- kthrotlds(WatchDogs变种)查杀方法
病毒现象 服务器出现卡顿.CPU飙升 以下为WatchDogs的判断方式及其命令:存在恶意进程watchdogs: ps -ef | grep watchdogs存在恶意进程ksoftirqds: p ...
- 纪中某日c组模拟赛 2314. 最短路
2314. 最短路 (File IO): input:dti.in output:dti.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 Goto Problem ...