HDU1272
http://acm.split.hdu.edu.cn/showproblem.php?pid=1272
对于这道题,只要找出形成的图是不是连通无环的图即可。即是判断输入的两个点是否来自同一个父亲结点。还要注意不要忘记这个图一定是互相连通的。另外注意当输入两个0的时候也是输出Yes
#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<string.h>
using namespace std;
const int M=;
int fa[M],vis[M];
int fin(int x)
{
return fa[x]==x?fa[x]:fa[x]=fin(fa[x]);
}
int unin(int x,int y){
return fa[fin(x)]=fin(y);
}
int main()
{
int a,b;
while(~scanf("%d%d",&a,&b)){
if(a==-&&b==-)break;
if(a==&&b==){
puts("Yes");
continue;
}
int flag=;
for(int i=;i<M;i++){
fa[i]=i;
}
memset(vis,,sizeof(vis));
unin(a,b);
vis[a]=vis[b]=;
while(~scanf("%d%d",&a,&b)){
if(a==&&b==)break;
if(fin(a)==fin(b))flag=;
else unin(a,b);
vis[a]=vis[b]=;
}
if(!flag)puts("No");
else {for(int i=;i<M;i++)
if(vis[i]&&fa[i]==i)
flag++;
if(flag==)puts("Yes");
else puts("No"); }
}
return ;
}
对于输入输出数据多的代码,要用scanf和printf,此题用cin和cout就会超时。
HDU1272的更多相关文章
- hdu1272并查集入门
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- hdu1272 小希的迷宫
Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 ...
- hdu1272 并查集
如果要输出yes 需要满足 1 这个图连通 2 没有回路 3 0 0 也是yes 看它有没有回路 在un的时候做一次判断就可以了 然后是判断连通 在这里采用的方法是扫一遍 如果这个点出现过就判断 ...
- hdu-1272 并查集
Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 ...
- 【HDU1272】小希的迷宫(并查集基础题)
仍旧裸敲并查集.有这两点注意: 1.输入 0 0 时候要输出YES 2.留心数组的初始化 #include <iostream> #include <cstring> #inc ...
- 小希的迷宫--hdu1272(并查集)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU1272 小希的迷宫 并查集
参考网址:http://blog.sina.com.cn/s/blog_6827ac4a0100nyjy.html 解题思路: 由于这里出现的数字不一定连续的数字都会出现,所以设一个mark来标记数字 ...
- hdu1272 小希的迷宫(并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272 题目: 小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) ...
- HDU1272小希的迷宫–并查集
上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了 ...
随机推荐
- LVM---动态调整磁盘容量
LVM:logical volume manager(逻辑卷管理):LVM屏蔽了底层磁盘布局,方便于动态调整磁盘容量. 一.创建逻辑卷的步骤: 1)通过fdisk 工具将磁盘转换为linux分区 2) ...
- DHCP协议讲解
一.DHCP服务介绍: DHCP为动态主机配置协议,该协议能自动配置主机的IP地址.子网掩码.网关及DNS服务器等TCP/IP信息.DHCP可以降低客户机IP地址配置的复杂度和网络管理成本. DHCP ...
- 【maven】解决Missing artifact jdk.tools:jdk.tools:jar:1.6
解决在pom.xml文件中出现的Missing artifact jdk.tools:jdk.tools:jar:1.6问题, <dependency> <groupId>jd ...
- 拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。
如果在调试过程中出现异常“拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限.”则可以通过以下方式解决: 打开master数据库,打开扩展 ...
- Session和Cookie深度剖析
Session和Cookie的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.同时我们也看到,由于采用服务器端保持状态的方案在客户端 ...
- 如何巧用.htaccess设置网站的压缩与缓存
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault A86400 ExpiresByType image/gif A25920 ...
- 理解MVC模式
理解一般意义上的MVC模式 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为以下三个基本部分: 模型(Model):模型用于封装与应用程序的业务逻 ...
- FindViewByMe插件
FindViewByMe 是一个自动生成 FindViewById 代码的 IDEA/Android Studio 插件, 支持 Activity.Fragment 和 ViewHolder 中的 f ...
- DBA_Oracle AWR Report性能监控报表(案例)
2014-08-22 Created By BaoXinjian
- c++学习-字符串
字符数组和 string类型比较的区别 #include<iostream> #include<string> using namespace std; class area{ ...