zoukankan      html  css  js  c++  java
  • ZOJ1655 Transport Goods(Floyd)

    利用Floyd的DP状态转移方程。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<queue>
     4 #include<algorithm>
     5 using namespace std;
     6 #define MAXN 111
     7 int n,m;
     8 double d[MAXN][MAXN];
     9 void Floyd() {
    10     for(int k=1; k<=n; ++k) {
    11         for(int i=1; i<=n; ++i) {
    12             for(int j=1; j<=n; ++j) {
    13                 if(d[i][k]==0 || d[k][j]==0) continue;
    14                 d[i][j]=max(d[i][j],d[i][k]*d[k][j]);
    15             }
    16         }
    17     }
    18 }
    19 int main() {
    20     int a,b,goods[MAXN];
    21     double c;
    22     while(~scanf("%d%d",&n,&m)) {
    23         memset(d,0,sizeof(d));
    24         for(int i=1; i<n; ++i) {
    25             scanf("%d",goods+i);
    26         }
    27         for(int i=0; i<m; ++i) {
    28             scanf("%d%d%lf",&a,&b,&c);
    29             d[b][a]=d[a][b]=max(d[a][b],1-c);
    30         }
    31         Floyd();
    32         double res=0;
    33         for(int i=1; i<n; ++i) {
    34             res+=goods[i]*d[i][n];
    35         }
    36         printf("%.2f
    ",res);
    37     }
    38     return 0;
    39 }
  • 相关阅读:
    CSS定位属性
    CSS属性
    CSS基础
    HTML
    JDBC
    语言元素
    初识Python
    redis配置文件
    zabbix
    jumpserver
  • 原文地址:https://www.cnblogs.com/WABoss/p/5090587.html
Copyright © 2011-2022 走看看