Bellman:
bool bellman()
{
int i,j,k;
for(i=1;i<=n;i++)d[i]=INF;
for(i=1;i<=n;i++)
{
int flag=0;
for(j=0;j<m;j++)
if(d[u[j]]+w[j]<d[v[j]])
{
d[v[j]]=d[u[j]]+w[j];
flag=1;
}
if(!flag)break;
}
if(i==n+1)return 1; //有负环
return 0;
}