• 杭电2059


    此题是我转载的,开始我也不太懂怎么弄,后来才理解!!如果你现在也是不太懂,让我们一起ac它吧!
    这道题的思路大致如下:
    假设乌龟修了n个充电站,那么如果把起点和终点也算一个充电站的话一共有n+2个充电站,这样第一个
    充电站充电的时间是0,接着进行两个循环,其中for(i=1;i<n+2;i++)是从第一个充电站开始循环,
    对于每个i,对于循环for (j=0;j<i;j++)依次算出i其前面的每个充电站是否充电的时间!最后把最短的
    时间付给min即可求出乌龟的最佳方案!!

    #include<iostream>
    using namespace std;
    int main()
    {
        int i,j,p[102];
        int l,n,c,t;
        int vr,v1,v2;
        int len;
        double dp[102],min,e;  
        while(scanf("%d",&l)!=EOF)
        {
            scanf("%d%d%d",&n,&c,&t);
            scanf("%d%d%d",&vr,&v1,&v2);
            dp[0]=p[0]=0;
            for(i=1;i<=n;i++)
            {
                scanf("%d",p+i);
            }
            p[i]=l;
            for(i=1;i<n+2;i++)
            {
                min = 0xffffff;
                for (j=0;j<i;j++)
                {
                    len=p[i]-p[j];
                    e=len>c?1.0*c/v1+(len-c+0.0)/v2:1.0*len/v1;
                    e+= dp[j];
                    if(j)
                     {
                         e += t;
                     }
                    if (min>e)
                    {
                        min=e;
                    }
                }
                dp[i]=min;
            }
            puts(1.0*l/vr>dp[n+1]?"What a pity rabbit!":"Good job,rabbit!");
        }  
        return 0;

    }

  • 相关阅读:
    转-关于图片或者文件在数据库的存储方式归纳
    转-数据流图的画法
    Effective Java2-学习笔记 第11-20条
    Effective Java2-学习笔记 第1-10条
    Python面向对象-学习笔记
    python基础语法-学习笔记
    C# 获取时间戳
    C# 时间格式转换
    C# 获取IP地址
    Http post请求
  • 原文地址:https://www.cnblogs.com/xiohao/p/2717308.html
Copyright © 2020-2023  润新知