判断最长路径是否有正环即可
#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
struct node
{
int a,b;
double rab,cab,rba,cba;
};
node ex[101];
bool bellmanford(int s,double sw,int v,int e)
{
double dis[101];
int i;
bool flag;
memset(dis,0,sizeof(dis));
dis[s]=sw;
while(v--)
{
flag=1;
for(i=1;i<=e;i++)
{
if((dis[ex[i].b]-ex[i].cba)*ex[i].rba>dis[ex[i].a])
{
dis[ex[i].a]=(dis[ex[i].b]-ex[i].cba)*ex[i].rba;
flag=0......
阅读全文