zoukankan      html  css  js  c++  java
  • bzoj 2306

    %%%%http://blog.csdn.net/popoqqq/article/details/43926365

     1 #include<bits/stdc++.h>
     2 #define INF 0x7fffffff
     3 #define LL long long
     4 #define N 100005
     5 using namespace std;
     6 inline int ra()
     7 {
     8     int x=0,f=1; char ch=getchar();
     9     while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();}
    10     while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();}
    11     return x*f;
    12 }
    13 double p,ans,a[101],f[101][101],g[101][101];
    14 int main()
    15 {
    16     int n=ra(),m=ra();
    17     for (int i=1; i<=n; i++)
    18         scanf("%lf",&a[i]);
    19     int st=ra(); 
    20     scanf("%lf",&p);
    21     memset(f,0xc2,sizeof(f));
    22     for (int i=1; i<=n; i++)
    23         f[i][i]=0;
    24     for (int i=1; i<=m; i++)
    25     {
    26         int x=ra(),y=ra();
    27         f[x][y]=a[y];
    28     }
    29     double tmp=p;
    30     for (int T=0; T<=70; T++,tmp*=tmp)
    31     { 
    32         memset(g,0xc2,sizeof(g));
    33         for (int k=1; k<=n; k++)
    34             for (int i=1; i<=n; i++)
    35                 for (int j=1; j<=n; j++)
    36                     g[i][j]=max(g[i][j],f[i][k]+f[k][j]*tmp);
    37         memcpy(f,g,sizeof(f));
    38     }
    39     for (int i=1; i<=n; i++)
    40         ans=max(ans,f[st][i]);
    41     printf("%.1lf
    ",ans*p+a[st]);
    42     return 0;
    43 }
  • 相关阅读:
    四则运算 2
    《你的灯亮着吗》读后感 (前两篇)
    四则运算设计思路
    读书目标
    课堂总结
    人月神话感想
    软件工程概论11
    软件工程概论10
    bnu——GCD SUM (莫比乌斯反演)
    POJ1108_Split Windows 解题报告
  • 原文地址:https://www.cnblogs.com/ccd2333/p/6371276.html
Copyright © 2011-2022 走看看