hdu 1269 迷宫城堡 判断强连通分量数目 tarjan算法
来源:互联网 发布:ip开放端口查询 编辑:程序博客网 时间:2024/06/06 12:54
原题链接:点击打开链接
思路:有向图的强连通,判断强连通分量是否为一;
这是我学习tarjan算法的博客:点击打开链接
code:
#include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>#include<vector>#include<stack>#include<math.h>using namespace std;vector<int >vec[10005];stack<int>sta;int dfn[10005],low[10005],vis[10005];int n,m,sum,nn;void tarjan(int s){ dfn[s]=low[s]=(++nn); vis[s]=2; sta.push(s); for(int i=0;i<vec[s].size();i++) { int t=vec[s][i]; if(!dfn[t]) { tarjan(t); low[s]=min(low[s],low[t]); } else { if(vis[t]==2) low[s]=min(low[s],dfn[t]); } } if(dfn[s]==low[s]) { sum++; while(!sta.empty()) { int tem=sta.top(); sta.pop(); vis[tem]=1; if(tem==s) break; } }}int main(){ //freopen("i.txt","r",stdin); int i,j,a,b; while(scanf("%d%d",&n,&m)!=EOF ) { if(n==0 && m==0) break; memset(dfn,0,sizeof(dfn)); memset(vis,0,sizeof(vis)); memset(low,0,sizeof(low)); for(i=1;i<=n;i++) vec[i].clear(); while(sta.empty()==0) sta.pop(); for(i=0;i<m;i++) { scanf("%d%d",&a,&b); vec[a].push_back(b); } sum=nn=0; for(i=1;i<=n;i++) if(!dfn[i]) tarjan(i); if(sum>1) puts("No"); else puts("Yes"); } return 0;}
0 0
- hdu 1269 迷宫城堡 判断强连通分量数目 tarjan算法
- hdu 1269 迷宫城堡(强连通分量 Tarjan算法)
- HDU - 1269 - 迷宫城堡 (tarjan求强连通分量)
- HDU 1269 迷宫城堡 [强连通分量] [Tarjan]
- HDU 1269 迷宫城堡 Tarjan强连通分量
- HDU 1269:迷宫城堡 (Tarjan强连通分量)
- HDU 1269 迷宫城堡【Tarjan强连通分量 模板】
- HDU OJ 1269 迷宫城堡【有向图强连通分量的Tarjan算法 入门】
- hdu 1269 迷宫城堡 tarjan算法求有向图的强连通分量
- HDU ACM 1269迷宫城堡->有向强连通分量(tarjan算法实践)
- HDU 1269 迷宫城堡 (裸的Tarjan算法求强连通分量, 可作模版)
- HDU 1269 迷宫城堡 (强联通分量,Tarjan算法)
- hdu 1269 迷宫城堡 强连通分量
- HDU 1269 迷宫城堡(强连通分量)
- HDU 1269 迷宫城堡(强连通分量)
- HDU 1269-迷宫城堡(强连通分量)
- HDU - 1269 迷宫城堡(强连通分量)
- [HDU 1269] 迷宫城堡 强连通分量
- #openstack-meeting: swift(2015-07-15)
- 使用Android Studio查看Android 5.x源码
- 【Linux 内核网络协议栈源码剖析】connect 函数剖析(二)
- 二叉树的非递归遍历(前序、中序、后序)
- 解决eclipse svn 返回历史版本(update to version)异常
- hdu 1269 迷宫城堡 判断强连通分量数目 tarjan算法
- 【mongodb系统学习之六】mongodb配置文件方式启动
- Codeforces Round #312 (Div. 2)
- hdoj1090
- mysql 索引
- 关于反射与实例
- Android SDK下载
- Superblock介绍和故障恢复
- java接口与抽象类的区别之缺省适配模式 .