题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269

题意:略

题解:trajan模版直接求强连通分量。

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int N = 1e4 + 10;
const int M = 1e5 + 10;
struct Edge {int v , next;
}edge[M];
int head[N] , e;
int Low[N] , DFN[N] , Stack[N] , Belong[N];
int Index , top;
int scc;
bool Instack[N];
int num[N];
void init() {e = 0;memset(head , -1 , sizeof(head));
}
void add(int u , int v) {edge[e].v = v , edge[e].next = head[u] , head[u] = e++;
}
void Tarjan(int u) {int v;Low[u] = DFN[u] = ++Index;Stack[top++] = u;Instack[u] = true;for(int i = head[u] ; i != -1 ; i = edge[i].next) {v = edge[i].v;if(!DFN[v]) {Tarjan(v);Low[u] = min(Low[u] , Low[v]);}else if(Instack[v]) Low[u] = min(Low[u] , DFN[v]);}if(Low[u] == DFN[u]) {scc++;do {v = Stack[--top];Instack[v] = false;Belong[v] = scc;num[scc]++;}while(v != u);}
}
int main() {int a , b , n , m;while(scanf("%d%d" , &n , &m) != EOF) {if(n == 0 && m == 0) break;init();for(int i = 0 ; i < m ; i++) {scanf("%d%d" , &a , &b);add(a , b);}memset(DFN , 0 , sizeof(DFN));memset(Instack , false , sizeof(Instack));memset(num , 0 , sizeof(num));Index = scc = top = 0;for(int i = 1 ; i <= n ; i++)if(!DFN[i]) Tarjan(i);if(scc == 1) printf("Yes\n");else printf("No\n");}return 0;
}

转载于:https://www.cnblogs.com/TnT2333333/p/6875156.html

hdu 1269 迷宫城堡(trajan判环)相关推荐

  1. HDU 1269 迷宫城堡 -- 强连通图判断

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1269 图的强连通分量 http://baike.baidu.com/link?url=NqsmNsGC ...

  2. HDU 1269 迷宫城堡(强连通图的判定)

    最近<算法导论>快看完图论部分了,很多有关图的算法都彻底搞懂并加以证明了.现在主要是将理解的思想用到题目中来加强下.这个题目主要是判断一下整个图是否是强连通的,很简单,可以用tarjan也 ...

  3. HDU - 1269迷宫城堡 -强连通tanjar算法

    为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以 ...

  4. Hdu 1269.迷宫城堡

    Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若 ...

  5. HDU 1217 Arbitrage (Floyd + SPFA判环)

    题目链接:HDU 1217 Arbitrage 简单的货币转换问题,给定多种货币,以及货币之间的汇率,问能否通过货币的转换实现收益. 例如: 1 US Dollar buys 0.5 British ...

  6. HDU 1269 移动城堡 联通分量 Tarjan

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

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

    题干: 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通 ...

  8. 【HDU 1269】迷宫城堡 (Tarjan算法)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  9. 【HDU - 1269】迷宫城堡 (tarjan算法模板)

    题干: 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只 ...

  10. hdu 1625(floyd判环)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1625. 思路:大牛说是floyd判环,一想确实如此,我还一直在想如果用记忆化的怎么处理环呢...orz ...

最新文章

  1. 优化算法之手推遗传算法(Genetic Algorithm)的详细步骤图解
  2. Xcode:dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib
  3. LeetCode Count Numbers with Unique Digits(计数问题)
  4. 完整的目标管理三段俱全
  5. uft自动化测试工具安装步骤_自动化功能测试和接口测试工具整理
  6. lighthouse使用_如何在CircleCI中使用Lighthouse
  7. java 转json_Java转JSON串的几种方式
  8. eclipse中添加svn插件
  9. LeetCode——N-Queens II
  10. ENVI入门系列教程---一、数据预处理---2.1自定义坐标系
  11. 按shift键调出命令行的脚本
  12. springboot校园疫情智慧防控微信小程序 毕业设计-附源码011133
  13. 4.3二叉树的非递归中序遍历输出王道数据结构例程实现
  14. python数据分析实验报告心得_Python实训周总结
  15. 两位共阳极数码管c语言,89c51驱动两位共阳极数码管倒计时显示程序,60秒到30秒能实现,但从30秒到90秒不能实现,请高手帮忙!...
  16. [VOT14](2022CVPR)CSWinTT: Transformer Tracking with Cyclic Shifting Window Attention
  17. C# .Net 小程序消息推送配置+详细代码
  18. 利用身份证号码算年龄 并排序
  19. 如何编辑epub电子书的目录
  20. 青云、UCloud、阿里云、腾讯云等分别都有哪些特点?

热门文章

  1. Ubuntu状态栏显示网速,内存利用率等信息——sysmonitor
  2. jenkins 插件_Jenkins通过Ruby插件赢得了新的皇冠
  3. 苹果屏蔽更新描述文件_iOS屏蔽更新文件失效,教你两个技巧暂停更新
  4. 苹果笔记本突然开机黑屏
  5. 虎爸虎妈看过来,AI时代,陪孩子玩什么游戏?
  6. work文档,Excel表格常用快捷键
  7. 一文搞懂 UndeclaredThrowableException
  8. springboot+微信小程序校园疫情智慧防控系统毕业设计源码011133
  9. 服务器搬迁清单需要启动任务以及恢复办法
  10. 检测分割算法改进(篇二) Residual Feature Augmentation(RFA模块)及Adaptive Spatial Fusion(ASF模块)