Lang:G++
Edit12345678910111213141516171819202122232425262728293031//#define LOCAL#include <iostream>#include <algorithm>#define NMAX 20005#define MMAX 100005#define NIL 0using namespace std;struct ArcNode{int adjvex=0;ArcNode *next=NULL;};struct Graph{ArcNode *firstArc=NULL;}graph[NMAX];int dfn[NMAX]={0};int low[NMAX]={0};bool visit[NMAX]={0};int parent[NMAX]={NIL};int stk[NMAX]={0};int top={0};int group[NMAX]={0};int minid={0};int stlvl = {0};int gourpCnt = {0};void addEdge(int u, int v)