虽然现在更新有点迟了,但bellman还是一个值得学习的算法
void relax(int u, int v, int weight) {
if(dist[v]>dist[u]+weight)
dist[v]=dist[u]+weight;
}
bool Bellman_Ford(){
for(int i=1;i<=n-1;i++)
for(int j=1;j<=m;j++)
relax(edge[j].u,edge[j].to,edge[j].v);
//判负环
bool flag=1;
for(int i=1;i<=edgenum;i++)
if(dist[edge[i].to]>dist[edge[i].u]+edge[i].v){flag=0;break;}
return flag;
}