HDU ACM 2059 龟兔赛跑

分析:动态规划,,一定要注意当前状态需要和前面所有的状态一起进行考虑,另外注意浮点数的处理,还WA了一次。

#include<iostream>using namespace std;int L,N,C,T,VR,VT1,VT2;int a[105];double dp[105];double min_time_ij(int i_0,int j_0){if(j_0-i_0>C)return C*1.0f/VT1+(j_0-i_0-C)*1.0f/VT2;elsereturn (j_0-i_0)*1.0f/VT1;}int main(){int i,j;double min,value;while(cin>>L){cin>>N>>C>>T;cin>>VR>>VT1>>VT2;for(i=1;i<=N;i++)cin>>a[i];a[0]=0;a[N+1]=L;//最终距离作为结尾dp[0];for(i=1;i<=N+1;i++){min=1000000;for(j=0;j<i;j++){if(j==0)//一开始电动车有电value=dp[j]+min_time_ij(a[j],a[i]);elsevalue=dp[j]+min_time_ij(a[j],a[i])+T; //第j个站充电后直接到达i。min=min<value?min:value;}dp[i]=min;}if(dp[N+1]<L*1.0f/VR)cout<<"What a pity rabbit!"<<endl;elsecout<<"Good job,rabbit!"<<endl;}return 0;}

世界没有永久的冬天;不要讨厌麻烦,

HDU ACM 2059 龟兔赛跑

相关文章:

你感兴趣的文章:

标签云: