zoukankan      html  css  js  c++  java
  • 最小花费

    #include<iostream>
    using namespace std;
    double a[2001][2001],dis[2001]={0},minn;
    int n,m,i,j,k,x,y,f[2001]={0};
    void init()
    {
      cin>>n>>m;
      for(i=1;i<=m;i++)
      {scanf("%d%d",&j,&k);
       scanf("%lf",&a[j][k]);
       a[j][k]=(100-a[j][k])/100;
       a[k][j]=a[j][k];
      }
      cin>>x>>y;   
    }
    void dijkstra(int x)
    {
      for(i=1;i<=n;i++)dis[i]=a[x][i];
      dis[x]=1;f[x]=1;
      for(i=1;i<=n-1;i++)
      { minn=0;
        for(j=1;j<=n;j++)
          if(f[j]==0&&dis[j]>minn){k=j;minn=dis[j];}
        f[k]=1;
        if(k==y)break;
        for(j=1;j<=n;j++)
         if(f[j]==0&&dis[k]*a[k][j]>dis[j])dis[j]=dis[k]*a[k][j];
       }
    }
    int main()
      init();
      dijkstra(x);
      printf("%0.8lf",100/dis[y]);
      return 0;
    }
     
  • 相关阅读:
    Codeforces 960B(优先队列)
    “景驰科技杯”2018年华南理工大学程序设计竞赛 H-对称与反对称(逆元)
    AcWing
    POJ
    POJ
    AtCoder
    HRBUST
    CodeForces
    HYSBZ
    HDU
  • 原文地址:https://www.cnblogs.com/lutongxi/p/5182941.html
Copyright © 2011-2022 走看看