判斷最長路徑是否成環。
我用的是暴力,把所有的點當作起始點枚舉一次,用bellmanford判斷是否成環即可。
#include#include #include using namespace std; struct n1 { int s,e; double w; }; n1 path[1000]; bool ishuan(int s,double sw,int v,int e) { bool flag; int i; double d[31]; for(i=1;i<=v;i++) { d[i]=0; } d[s]=sw; while(v--) { flag=1; for(i=1;i<=e;i++) { if(d[path[i].e]