hdu 1269 迷宮城堡 強連通分量

2021-07-24 02:11:21 字數 1101 閱讀 5337

problem:

給乙個有向圖,問這個圖是否兩兩都可互相達。

solution:

求強連通分量,看一共有幾個強連通分量,如果只有乙個則兩兩可互相達。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define ms(s) memset(s,0,sizeof(s))

typedef

unsigned

long

long ull;

typedef

long

long ll;

const

double pi = 3.141592653589;

const

int inf = 0x3fffffff;

int n, m;

const

int maxn = 10010;

stack

stk;

vector

g[maxn];

int dfn[maxn], low[maxn], vis[maxn];

int times, tot;//強連通分量的個數

void tarjan(int u)

else

}if(dfn[u] == low[u])

}}void solve(int n)

}int main()

solve(n);

if(tot <= 1)

printf("yes\n");

else

printf("no\n");

}return

0;}

HDU 1269 迷宮城堡 強連通分量

一道強連通分量的裸題,當只有乙個強連通分量的時候輸出yes,否則輸出no include include include include include include include include include include include using namespace std typed...

迷宮城堡 HDU 1269 強連通分量

tarjan演算法 dfn為最先訪問的時間點 low為本節點通過他的兒子更新到的最小時間點 stack int s int vis n res vector int a n void dfs int x else if vis y 1 訪問過,但y在stack中 low x min low x lo...

HDU1269迷宮城堡(強連通分量)

problem description 為了訓練小希的方向感,gardon建立了一座大城堡,裡面有n個房間 n 10000 和m條通道 m 100000 每個通道都是單向的,就是說若稱某通道連通了a房間和b房間,只說明可以通過這個通道由a房間到達b房間,但並不說明通過它可以由b房間到達a房間。gar...