为什么有些人
for(int i=head[u];i;i=edge[i].next){
int y=edge[i].to;
if(!dfn[y]){
tarjan(y);
low[u]=min(low[u],low[y]);
}
else if(vis[y])low[u]=min(low[u],dfn[y]);
}
有些人
for(int i=head[u];i;i=edge[i].next){
int y=edge[i].to;
if(!dfn[y]){
tarjan(y);
low[u]=min(low[u],low[y]);
}
else if(vis[y])low[u]=min(low[u],low[y]);
}
else if(vis[y])low[u]=min(low[u],dfn[y]);
else if(vis[y])low[u]=min(low[u],low[y]);
有什么区别?