hdu 1269 迷宫城堡 强连通分量
来源:互联网 发布:陈震媳妇 淘宝店叫什么 编辑:程序博客网 时间:2024/05/18 03:48
模板题。
http://acm.hdu.edu.cn/showproblem.php?pid=1269
给一个学习强连通分量的博客:
https://www.byvoid.com/zht/blog/scc-tarjan
#include <map>#include <set>#include <queue>#include <cmath>#include <ctime>#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>#define rep(i,a,b) for(int i = a ; i <= b ; i ++)#define rrep(i,a,b) for(int i = b ; i >= a ; i --)#define repE(p,u) for(Edge * p = G[u].first ; p ; p = p -> next)#define cls(a,x) memset(a,x,sizeof(a))using namespace std;typedef long long LL;const int MOD = 1e9+7;const int INF = 0x3f3f3f3f;const int MAXN = 1e4+5;const int MAXE = 1e6+5;struct Edge { int to; Edge * next ;}E[MAXE], * EE;struct Gragh { Edge * first ;}G[MAXN];int T,n,m;int Stack[MAXN] ; bool InStack[MAXN];int dfn[MAXN] , low[MAXN] , num[MAXN] , belong[MAXN];int idx,top,scc;void addedge(int u,int v) { EE->to = v ; EE->next = G[u].first ; G[u].first = EE ++;} void init() { EE = E; idx = top = scc = 0; cls(G,0); cls(dfn,0); cls(InStack,0);}void tarjan(int u) { int v; dfn[u] = low[u] = ++idx; Stack[top++] = u; InStack[u] = true; repE(p,u) { v = p -> to; if(!dfn[v]) { tarjan(v); if(low[u] > low[v]) low[u] = low[v]; } else if(InStack[v] && low[u] > dfn[v]) 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) ; }}void input() { int u,v; rep(i,1,m) { scanf("%d %d",&u,&v); addedge(u,v); }}void solve() { rep(i,1,n) { if(!dfn[i]) tarjan(i); } if(scc == 1) { puts("Yes"); } else { puts("No"); }} int main(void) { //freopen("a.in","r",stdin); //scanf("%d",&T); while(scanf("%d %d",&n,&m),n+m) { init(); input(); solve(); } return 0;}
0 0
- hdu 1269 迷宫城堡 强连通分量
- HDU 1269 迷宫城堡(强连通分量)
- HDU 1269 迷宫城堡(强连通分量)
- HDU 1269-迷宫城堡(强连通分量)
- HDU - 1269 迷宫城堡(强连通分量)
- [HDU 1269] 迷宫城堡 强连通分量
- hdu 1269 迷宫城堡 强连通分量
- hdu 1269 迷宫城堡 强连通分量
- 【HDU】 1269 迷宫城堡 强连通分量
- hdu 1269 迷宫城堡 强连通分量模版
- HDU 1269 迷宫城堡 强连通分量模板题
- HDU - 1269 - 迷宫城堡 (tarjan求强连通分量)
- HDU 1269 迷宫城堡(强连通分量)
- hdu 1269 迷宫城堡(强连通分量 Tarjan算法)
- HDU-1269 迷宫城堡 (强连通分量[Kosaraju])
- hdu 1269 迷宫城堡 强连通分量分解
- HDU 1269 迷宫城堡 [强连通分量] [Tarjan]
- HDU 1269 迷宫城堡 Tarjan强连通分量
- 探秘 C stdlib.h
- org.hibernate.hql.ast.QuerySyntaxException: events is not mapped [from events where..异常
- 不同版本SQL SERVER备份还原时造成索引被禁用
- Excel筛选结果的引用
- c#Lamdba表达式与委托
- hdu 1269 迷宫城堡 强连通分量
- Dalvik Dex Code
- spring定时器分析
- Servlet技术实现动态图片验证码(Java)
- 【Leetcode】Contains Duplicate
- 读书笔记--IPC机制(四)
- Java基本知识(连载)-数据类型和常用运算
- MySQL 的异常与事务结合的使用方法。并带自动回滚!
- vim编辑器