il void Tarjan(int x)
{
dfn[x]=low[x]=++cnt;s.push(x);
for(re i=e1.head[x],y;i,y=e1.go[i];i=e1.nxt[i])
{
if(!dfn[y]){
Tarjan(y);low[x]=min(low[x],low[y]);
if(low[y]>=dfn[x]){
e2.Add(++num,x);
while(1){
int p=s.top();s.pop();
e2.Add(num,p);
if(p==y)break;
}
}
}
else low[x]=min(low[x],dfn[y]);
}
}
注释外的while循环是对的,注释内的只有35分,可是我觉得是一样的,有大佬可以解惑吗