图的连通性-tarjan模板(2)
来源:互联网 发布:计算机等级二级c语言 编辑:程序博客网 时间:2024/05/18 02:06
#include<cstdio>#include<cstring>#include<iostream>#include<stack>using namespace std;const int maxn=201;const int Maxn=101;int top;struct edge{ int to,next;};edge side[maxn];int head[maxn];void addEdge(int from,int to){ side[top]=(edge){to,head[from]}; head[from]=top++;}int Min(int a,int b){ return a<b?a:b;}int dfn[maxn],low[maxn];stack<int> s;int t,sum;void dfs(int u){ dfn[u]=low[u]=t++; s.push(u); for(int i=head[u];i!=-1;i=side[i].next) { int v=side[i].to; if(!dfn[v]) dfs(v); if(dfn[v]!=-1) low[u]=Min(low[v],low[u]); } int v; if(dfn[u]==low[u]) { int v; do{ v=s.top(); s.pop(); dfn[v]=-1; low[v]=sum; }while(v!=u); sum++; }}void solve(int n){ sum=t=1; memset(dfn,0,sizeof(dfn)); for(int i=1;i<=n;i++) if(!dfn[i])dfs(i);}int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { int start,end; for(int i=0;i<m;i++) { scanf("%d%d",&start,&end); addEdge(start,end); } solve(n); } return 0;}
0 0
- 图的连通性-tarjan模板(2)
- 图的连通性tarjan模板
- 图的连通性算法(Tarjan)
- POJ1236图的连通性Tarjan
- 图的连通性问题之tarjan算法
- Tarjan求图的连通性总结
- 图的连通性强弱判断(tarjan+缩点)
- HDU 3072 //图的强连通性,缩点后求树形图 //TARJAN算法
- 无向图和有向图关于连通性的tarjan算法
- 图的连通性问题&tarjan求强连通分量、割点、桥
- 受欢迎的牛(Tarjan模板题)
- 裸的tarjan(模板)
- 求割边模板(tarjan)
- tarjan(SCC)模板
- tarjan模板(hdu1269)
- 图的连通性判断(算法实现)
- 编程练习9(图的连通性)
- 图的连通性问题(一)
- linux实用技巧:检测内存泄漏工具Valgrind
- Think in java 第十四章笔记
- Ext返回json数据的中文为乱码
- hbase学习笔记(二)
- 获取模型线的端点引用来创建标注
- 图的连通性-tarjan模板(2)
- Android Action Bar学习(一)--基本介绍及使用
- php性能之我见(1)
- c++IO之标准设备操作流
- A - Zipper
- 离散化 + 扫描线 + 线段树 hdu 4007
- C++ 虚函数个人总结【初稿】
- php性能之我见(2)
- 各种指针的定义