Tarjan普通板子

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YewSpadeJ/article/details/81937579
int vis[maxn], low[maxn], dfn[maxn],cnt,sig;
vector<int> poi[maxn];
void tarjan(int u)
{
	vis[u] = 1, low[u] = dfn[u] = cnt++;
	for(int i = 0;i < poi[u].size(); i++)
	{
		int v = poi[u][i];
		if(!vis[v])tarjan(v);
		if(vis[v])low[u] = min(low[u],low[v]);
	}
	if(dfn[u] == low[u]) sig++;
}

猜你喜欢

转载自blog.csdn.net/YewSpadeJ/article/details/81937579