错误的
for(int i=head[x];i;i=Next[i]){
int y=ver[i];
if(!dfn[i]){
tarjan(y);
low[x]=min(low[x],low[y]);
}
else if(init[y])
low[x]=min(low[x],dfn[y]);
}
正确的
for(int i=head[x];i;i=Next[i]){
int y=ver[i];
if(!dfn[y]){
tarjan(y);
low[x]=min(low[x],low[y]);
}
else if(init[y])
low[x]=min(low[x],dfn[y]);
}
这种小错误挺致命的。。。