【HDU 1269】迷宫城堡 (Tarjan算法)
迷宫城堡
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 11929 Accepted Submission(s): 5354
include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[1000010],nxt[1000010],p[1000010],tot;
int dis[1000010],dft[1000010],root,cnt;
int d[1000010],top;
int n,m;
bool vis[1000010];inline void add(int x,int y)
{tot++; a[tot]=y; nxt[tot]=p[x]; p[x]=tot;
}inline void tarjan(int u)
{dis[u]=dft[u]=++cnt;d[++top]=u; vis[u]=1;int v=p[u];while(v>=0){if(!dft[a[v]]){tarjan(a[v]);dis[u]=min(dis[u],dis[a[v]]);}elseif(vis[a[v]]) dis[u]=min(dis[u],dft[a[v]]);v=nxt[v];}v=0;if(dft[u]==dis[u]){root++;do{v=d[top--];vis[v]=0;}while(u!=v);}return;
}
inline void slove()
{memset(dis,0,sizeof(dis));memset(dft,0,sizeof(dft));memset(d,0,sizeof(d));cnt=root=top=0;for(int i=1;i<=n;++i)if(!dft[i]) tarjan(i);return;
}int main()
{int i,j;while((scanf("%d%d",&n,&m))!=EOF){if(!n&&!m) return 0;memset(p,-1,sizeof(p));memset(nxt,-1,sizeof(nxt));tot=0; for(i=1;i<=m;++i){int x,y;scanf("%d%d",&x,&y);add(x,y);}slove();if(root==1) {printf("Yes\n");continue;}else printf("No\n");}return 0;
}
转载于:https://www.cnblogs.com/lris-searching/p/9403126.html
【HDU 1269】迷宫城堡 (Tarjan算法)相关推荐
- HDU 1269 迷宫城堡 -- 强连通图判断
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1269 图的强连通分量 http://baike.baidu.com/link?url=NqsmNsGC ...
- HDU 1269 迷宫城堡(强连通图的判定)
最近<算法导论>快看完图论部分了,很多有关图的算法都彻底搞懂并加以证明了.现在主要是将理解的思想用到题目中来加强下.这个题目主要是判断一下整个图是否是强连通的,很简单,可以用tarjan也 ...
- HDU - 1269迷宫城堡 -强连通tanjar算法
为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以 ...
- Hdu 1269.迷宫城堡
Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若 ...
- HDU 1269 移动城堡 联通分量 Tarjan
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 迷宫城堡——Tarjan
传送门HDU1269 描述 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通 ...
- Hello Tarjan ---- Tarjan算法小结
一种由Robert Tarjan提出的求解有向图强连通分量的线性时间的算法. ------百度百科 解读一下这句话,Tarjan算法可以解决存在强连通分量的图,而且是在线性时间内解决.所以,不得不% ...
- 【HDU - 1269】迷宫城堡 (tarjan算法模板)
题干: 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只 ...
- 【HDU 4547 CD操作】LCA问题 Tarjan算法
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4547 题意:模拟DOS下的cd命令,给出n个节点的目录树以及m次查询,每个查询包含一个当前目录cur和 ...
最新文章
- Android中修改弹出dialog背景无色透明,弹出时有遮罩
- 华为备忘录导入印记云笔记_原来华为手机自带会议神器,开会不用手写,这个功能就能搞定...
- 嵌入式开发之zynq——zynq开发环境搭建
- 统计_statistics_不同的人_大样本_分析_统计方法_useful ?
- 【深度学习】——纠错error: Unable to find vcvarsall.bat:关于安装pycocotools
- Python通过amqp消息队列协议中的Qpid实现数据通信
- 【牛客 - 369B】小A与任务(贪心,优先队列)
- 高内聚低耦合通俗理解_抱歉,请不要把“业务逻辑层”理解为“业务中台”
- 2016重庆计算机一级考试题型,重庆计算机一级考试真题2016年最新(笔试+上机)
- 安全研究员公开 vBulletin 0day 的详情和 PoC
- Ghost本地安装highlight.js使代码高亮
- 工程介绍好处费性质_中间人拿工程好处费是否违法
- HDFS加密存储(HDP、Ranger、Ranger KMS实现)
- 解决IOS浏览器或者微信浏览器播放audio音效第二次播放不全
- JAVA毕业设计vue健康餐饮管理系统设计与实现计算机源码+lw文档+系统+调试部署+数据库
- 玩客云能搭建文档编辑服务器吗,轻NAS玩客云持续写盘解决办法,亲测暂时好用(弃用,只能维持一天不读写)...
- springboot2.3整合mybatis-plus3.3.2较为详细的教程
- c语言k1什么意思啊,一张图告诉你斐讯路由器K1S、K2,K2C的区别-路由器交流
- 服务器云平台 系统,服务器系统平台
- swagger 怎么去掉get delete_听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺
热门文章
- STM32开发 -- 烧写/启动模式
- CoinU基本概念分享(什么是去中心化钱包、助记词丢失怎么办等)
- “逃离大厦”游戏的破解
- Android SO逆向2-实例分析
- ES批量提交-RestHighLevelClient
- android中占容器比例,Android中的容器
- weblogic服务器修改ip,修改weblogic服务器ip地址
- oracle as sydba,oracle用户 sysdba 与system,sysoper的区别
- c++ 定时器_【话说定时器系列】之十:PWM输入模式测量脉宽及占空比实验
- NOIP信息奥赛--1995“同创杯”初中复赛题题解(五)