hdu 2059 龟兔赛跑

来源:互联网 发布:淘宝中怎么发布宝贝 编辑:程序博客网 时间:2024/05/01 01:47
//错误原因,除的时候要记得乘上1.0不然是不准确的 #include<iostream>#include<limits.h>using namespace std;int L,N,C,T,VR,VT1,VT2;int p[105];int i,j;double dp[105];int main(){    while(cin>>L){        cin>>N>>C>>T>>VR>>VT1>>VT2;        for(i=1;i<=N;i++){            cin>>p[i];        }        p[0]=0;        p[N+1]=L;        memset(dp,0,sizeof(dp));        //起点作为0,终点作为n        for(i=1;i<=N+1;i++){            double Min=INT_MAX;            for(j=0;j<i;j++){                double t;                if(j==0)                    t=0;                else                    t=T;                if(p[i]-p[j]>=C)                    t+=C*1.0/VT1+(p[i]-p[j]-C)*1.0/VT2;                else                    t+=(p[i]-p[j])*1.0/VT1;                if(Min>dp[j]+t)                    Min=dp[j]+t;            }            dp[i]=Min;        }        if(dp[N+1]<L*1.0/VR)            cout<<"What a pity rabbit!"<<endl;            else            cout<<"Good job,rabbit!"<<endl;    }    return 0;    }

原创粉丝点击