Bellman_ford模板

时间:2023-12-10 14:26:56

参考博客:

https://blog.csdn.net/u011893609/article/details/81232124

https://blog.csdn.net/bestsort/article/details/80100039

 int n,m;//点数,边数
int d[maxn];
struct edge
{
int s,e;
int w
}e[maxn];
bool bellman(int a,int n)
//求a->其他点的最短路,n为节点个数,可判断负环
{
ms(d,0x3f);
d[a]=;
for(int i=;i<n-;i++)
for(int j=;j<m;j++)
d[e[j].e]=min(d[e[j].e],d[e[j].s]+e[j].w);
for(int i=;i<m;i++)
{
if(d[e[j].e]>d[e[j].s]+e[j].w)
return true;
return false;
}
}