hdu 2059 龟兔赛跑

//Time 0ms, Memory 212K
#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,l,n,c,t,vr,v1,v2,a[105],len;
    double temp,ti,min,d[105];
    while(scanf("%d",&l)==1)
    {
        memset(d,0,sizeof(d));
        scanf("%d%d%d",&n,&c,&t);
        scanf("%d%d%d",&vr,&v1,&v2);
        ti=l*1.0/vr;
        for(i=1;i<=n;i++)
            scanf("%d",&a[i]);
        d[0]=0;a[0]=0;a[n+1]=l;
        for(i=1;i<=n+1;i++)
        {
            min=-1;
            for(j=0;j<i;j++)
            {
                len=a[i]-a[j];
                temp=len>c?(1.0*c/v1+(len-c)*1.0/v2):(len*1.0/v1);
                if(j) temp+=t;
                if(min==-1 || min>temp+d[j])
                    min=temp+d[j];
            }
            d[i]=min;
        }
        if(ti>d[n+1]) printf("What a pity rabbit!\n");
        else printf("Good job,rabbit!\n");
    }
    return 0;
}

原文地址:https://www.cnblogs.com/java20130726/p/3218219.html