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

hdoj1260 Tickets (简单DP)

时间:2019-02-19 11:54:52      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:pid   bsp   hdoj   ret   problem   lse   --   pre   div   

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1260

思路:

很简单的DP题,状态方程也比较容易想到,用f[i]表示到第i个人所耗的最短时间,详见代码。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int n,k,s[2005],d[2005],f[2005];
 5 
 6 int main(){
 7     scanf("%d",&n);
 8     while(n--){
 9         memset(f,0,sizeof(f));
10         scanf("%d",&k);
11         for(int i=0;i<k;i++)
12             scanf("%d",&s[i]);
13         for(int i=0;i<k-1;i++)
14             scanf("%d",&d[i]);
15         f[0]=s[0];f[1]=min(f[0]+s[1],d[0]);
16         for(int i=2;i<k;i++)
17             f[i]=min(f[i-1]+s[i],f[i-2]+d[i-1]);
18         int hh=8,mm=0,ss=0;
19         hh+=f[k-1]/3600;
20         f[k-1]%=3600;
21         mm+=f[k-1]/60;
22         f[k-1]%=60;
23         ss+=f[k-1];
24         if(hh<10) printf("0");
25         printf("%d:",hh);
26         if(mm<10) printf("0");
27         printf("%d:",mm);
28         if(ss<10) printf("0");
29         printf("%d ",ss);
30         if(hh<=12) printf("am\n");
31         else printf("pm\n");
32     }
33     return 0;
34 }

 

hdoj1260 Tickets (简单DP)

标签:pid   bsp   hdoj   ret   problem   lse   --   pre   div   

原文地址:https://www.cnblogs.com/FrankChen831X/p/10399986.html

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