POJ - 2240 Arbitrage解题报告

    xiaoxiao2021-03-26  63

    题目大意:

    一个图,从一个点到另个点,权值会乘一个数,问是否存在正权环。

    然后发现一个问题,用Bellman-ford的时候,判断是否存在负权回路只需要枚举一次所有的边,看是否还能松弛就可以了!

    #include #include #include #include #define N 1000 using namespace std; struct bian { int s; int e; double v; }a[N*N]={0}; int n,m; char name[N][N]={0}; double dis[N]={0}; int flag=0; int is_same(char *x,char *y) { int maxx=max(strlen(x),strlen(y)); for(int j=0;j >m; for(int i=1;i<=m;i++) { char s[N];char e[N]; double x; scanf("%s%lf%s",s,&x,e); find(s,x,e,i); } } void my_Bellman_Ford()//以1号点为虚拟源点,判断是否存在"正权回路"(大于1) { dis[1]=1; for(int i=1;i >n) { flag=0; cas++; if(n==0)break; input(); /*for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout< <<" "; cout<

    至此,做完了最短路的相关练习,但是有时间要再学一下邻接表储存边和bellman-ford的队列优化方法。

    转载请注明原文地址: https://ju.6miu.com/read-659163.html

    最新回复(0)