void spfa(int u){
if(flag) return;
vis[u]=1;
for(int i=head[u];i;i=e[i].next){
int v=e[i].to;
if(dis[v]>dis[u]+e[i].w){
dis[v]=dis[u]+e[i].w;
if(vis[v]){
flag=1;
break;
}else spfa(v);
}
}
vis[u]=0;
}
DFS SPFA
最新推荐文章于 2020-02-05 20:30:01 发布