/* * Strongly Connected Component * Algorithm : Tarjan's Algorithm * Order : O( V+E ) */ #include #include #include #include #include using namespace std; #define MAX 4007 #define pb push_back long N,M; vector Edge[MAX+7]; bool Visit[MAX+7]; bool InStk[MAX+7]; long Low[MAX+7],I; long Ind[MAX+7]; stack Stk; void SCC( long u ) { Visit[u] = true; InStk[u] = true; Ind[u] = ++I; Low[u] = I; Stk.push( u ); long i; for( i=0;i