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; }