hdu 1272 小希的迷宫
整个文件以两个-1结尾。
//虽然这题A了,但是感觉这题目还是有些问题,按题意来说应该是无向的、可是我用树根来做的话明显是有向的,即 7 5 和5 7是不一样的
//如果我把第二组数据改成 1 8 8 7 8 9 5 7 4 7 6 7 3 7 2 6 0 0 这个图是一样的,但是我的代码运行是No,明显错了,这题明显不是并查集解的。
//正确的方法应该是 拓扑排序加上dfs算连通分支
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define N 100003
int v[N];
int f[N];
bool hash[N];
int main()
{
int n,m,nt,i,t;
bool flag;
while(scanf("%d%d",&n,&m))
{
if(n==-1&&m==-1)
break;
memset(v,0,sizeof(v));t=1;
memset(f,0,sizeof(f));nt=0;
memset(hash,0,sizeof(hash));
if(!hash[n]) {hash[n]=1;nt++;}
if(!hash[m]) {hash[m]=1;nt++;}
f[m]=n;flag=1;
if(m!=n)
{v[m]=n;t++;}
if(n||m)
while(scanf("%d%d",&n,&m),n||m)
{
if(!flag)
continue;
if(f[m]&&n!=f[m])//判断一个节点是否有多个父节点,我把这句丢了还是AC,明显这题的数据很水,出题的本意应该是并查集
{ flag=0; continue;}
if(!hash[n]) {hash[n]=1;nt++;}
if(!hash[m]) {hash[m]=1;nt++;}
f[m]=n;
while(v[n]>0)
n=v[n];
while(v[m]>0)
m=v[m];
if(m==n)
{flag=0; continue;}
v[m]=n;t++;
}
if(nt!=t)
flag=0;
if(flag)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
转载于:https://www.cnblogs.com/372465774y/archive/2012/04/14/2446855.html
hdu 1272 小希的迷宫相关推荐
- 【判断是不是树】HDU 1272 小希的迷宫
HDU 1272 小希的迷宫 题意:输入多组无向边,结点的标号是随机的(可以不连续也可以不从1开始).然后让我们判断是不是刚好是一棵树. 需要注意的就是:0 0空树的情况. 代码:(带注释) #inc ...
- HDU 1272 小希的迷宫 (并查集)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- hdu 1272 小希的迷宫 (并查集)
小希的迷宫 Time Limit: 2000/1000 ...
- HDU——1272小希的迷宫(并查集+拓扑排序)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- HDU - 1272小希的迷宫
上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了 ...
- HDU 1272 小希的迷宫 (kruskal)
题目描述 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个 ...
- HDU 1272 - 小希的迷宫(并查集判树)
目录 Problem Description C++代码 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来 ...
- HDU Problem 1272 小希的迷宫 【并查集】
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- hdu 1271 小希的迷宫(树的性质,并查集)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
最新文章
- uva 401.Palindromes
- vue 源码学习(二) 实例初始化和挂载过程
- 微软私有云分享(R2)1-自定义脚本
- 77.redis介绍 安装 持久化 数据类型
- python库--tensorflow--RNN(循环神经网络相关)
- 第二阶段团队每日冲刺07
- 在onelogin中使用OpenId Connect Implicit Flow
- Google图片加载库Glide的简单封装GlideUtils
- 综述 | Google团队发布,一文概览Transformer模型的17大高效变种
- 华为云IoT智简联接,开启物联世界新纪元
- 基于JAVA+SpringMVC+Mybatis+MYSQL的在线论坛管理系统
- Android开发之InstanceState详解
- 【数据结构(C语言)】数据结构-树
- python变量赋值方式_【Python入门学习】详谈python变量和变量赋值语句
- python合并大量ts文件_Python3 根据m3u8下载视频,批量下载ts文件并且合并
- FPGA——HLS编程入门
- CSS实现空心三角指示箭头原理
- java大作穿越arpg_动作与角色扮演完美结合 精品ARPG游戏盘点
- 51单片机的键盘分类和运用
- 就是美女,怎么了!!!
热门文章
- listary 指定目录搜索_everything
- LeetCode简单题之二叉搜索树中的搜索
- 作业函数的定义与调用
- 零起点学算法24——求正弦和余弦
- ConstraintLayout 实现水平方向 权重 效果
- 路由器虚拟服务器功能(广域网服务端口和局域网服务端口的映射关系)
- cygwin执行.py提示找不到模块,但已经安装模块的解决办法
- Docker镜像优化
- 鸿蒙生死印里的声音是谁,逆天邪神:喊逆玄的确实是黎娑,鸿蒙生死印应该也是活物...
- JS中的call()方法和apply()方法用法总结