Tarjan算法板子

#include
#include
#include
using namespace std;
const int maxn=10010;
int dfn[maxn];
int low[maxn];
int vis[maxn];
int stack[maxn];
int color[maxn];
int cnt=0;
int size=0;
int tot=0;
vector edge[maxn];

void tarjan(int st)
{
    dfn[st]=low[st]=++tot;
    vis[st]=1;
    stack[++size]=st;
    for(int i=0;i>n>>m;
    for(int i=1;i<=m;i++){
        int x,y;
        cin>>x>>y;
        edge[x].push_back(y);
    }
    for(int i=1;i<=n;i++){
        if(!dfn[i])
            tarjan(i);
    }
    for(int i=1;i<=n;i++){
        cout<


你可能感兴趣的:(图论算法,图论板子)