码迷,mamicode.com
首页 > 其他好文 > 详细

hdu2059 龟兔赛跑 DP

时间:2017-03-19 11:08:02      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:分享   hdu2059   code   opened   bsp   blocks   else   cte   scanf   

N^2的dp,刚入门的时候很难想到,dp[i]表示到达第i个点的最小时间,可以从之前任意一点处加上充电时间充电转移过来。

技术分享
 1 #include<stdio.h>
 2 #define min(a,b) (a)<(b)?a:b
 3 int L,N,C,T,VR,VT1,VT2,p[102];
 4 double f(int d)
 5 {
 6      if(d<=C) return (double)d/VT1+T;
 7      else return (double)C/VT1+(double)(d-C)/VT2+T;
 8 }
 9 int main(){
10     while(scanf("%d%d%d%d%d%d%d",&L,&N,&C,&T,&VR,&VT1,&VT2)!=EOF){
11         double tr=(double)L/VR,ans[102];
12         int i,j;
13         for(i=1;i<=N;i++)scanf("%d",&p[i]);
14         p[N+1]=L;
15         for(i=1;i<=N+1;i++){
16             ans[i]=f(p[i])-T;
17             for(j=1;j<i;j++) ans[i]=min(ans[i],(ans[j]+f(p[i]-p[j])));
18         }
19         if(ans[N+1]<tr) printf("What a pity rabbit!\n");
20         else printf("Good job,rabbit!\n");
21     }
22     return 0;
23 }
View Code

 

hdu2059 龟兔赛跑 DP

标签:分享   hdu2059   code   opened   bsp   blocks   else   cte   scanf   

原文地址:http://www.cnblogs.com/cenariusxz/p/6577898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!