伪代码:
栈:当前dfs路径上的点low[x]:x能到达的点中最小的dfndfs(x,t) 将x入栈 dfn[x]=t low[x]=t for(x,y) if(!vis[y]) dfs(y,t+1),low[x]=min(low[x],low[y]); else if(y在栈中(在路径上)) low[x]=min(low[x],low[y]) if(low[x]=dfn[x]) 将栈出到x