HDU-1260 Tickets ( DP )
2016-04-27 22:18
274 查看
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1260
[align=left]Problem Description[/align]
Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this is really a tuff time for Joe who sells the film tickets. He is wandering when could he go back home as early as possible.
A
good approach, reducing the total time of tickets selling, is let
adjacent people buy tickets together. As the restriction of the Ticket
Seller Machine, Joe can sell a single ticket or two adjacent tickets at a
time.
Since you are the great JESUS, you know exactly how much time
needed for every person to buy a single ticket or two tickets for
him/her. Could you so kind to tell poor Joe at what time could he go
back home as early as possible? If so, I guess Joe would full of
appreciation for your help.
[align=left]Input[/align]
There are N(1<=N<=10) different scenarios, each scenario consists of 3 lines:
1) An integer K(1<=K<=2000) representing the total number of people;
2) K integer numbers(0s<=Si<=25s) representing the time consumed to buy a ticket for each person;
3) (K-1) integer numbers(0s<=Di<=50s) representing the time needed for two adjacent people to buy two tickets together.
[align=left]Output[/align]
For
every scenario, please tell Joe at what time could he go back home as
early as possible. Every day Joe started his work at 08:00:00 am. The
format of time is HH:MM:SS am|pm.
[align=left]Sample Input[/align]
2
2
20 25
40
1
8
[align=left]Sample Output[/align]
08:00:40 am
08:00:08 am
DP水题 前i个人所用的时间只与前i-1人和前i-2人所用的时间有关,直接的结果。
[align=left]Problem Description[/align]
Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this is really a tuff time for Joe who sells the film tickets. He is wandering when could he go back home as early as possible.
A
good approach, reducing the total time of tickets selling, is let
adjacent people buy tickets together. As the restriction of the Ticket
Seller Machine, Joe can sell a single ticket or two adjacent tickets at a
time.
Since you are the great JESUS, you know exactly how much time
needed for every person to buy a single ticket or two tickets for
him/her. Could you so kind to tell poor Joe at what time could he go
back home as early as possible? If so, I guess Joe would full of
appreciation for your help.
[align=left]Input[/align]
There are N(1<=N<=10) different scenarios, each scenario consists of 3 lines:
1) An integer K(1<=K<=2000) representing the total number of people;
2) K integer numbers(0s<=Si<=25s) representing the time consumed to buy a ticket for each person;
3) (K-1) integer numbers(0s<=Di<=50s) representing the time needed for two adjacent people to buy two tickets together.
[align=left]Output[/align]
For
every scenario, please tell Joe at what time could he go back home as
early as possible. Every day Joe started his work at 08:00:00 am. The
format of time is HH:MM:SS am|pm.
[align=left]Sample Input[/align]
2
2
20 25
40
1
8
[align=left]Sample Output[/align]
08:00:40 am
08:00:08 am
DP水题 前i个人所用的时间只与前i-1人和前i-2人所用的时间有关,直接的结果。
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int one[2005]; int two[2005]; int dp[2005]; int main(){ ios::sync_with_stdio( false ); int T, k; cin >> T; while( T-- ){ cin >> k; for( int i = 0; i < k; i++ ) cin >> one[i]; for( int i = 0; i < k - 1; i++ ) cin >> two[i]; dp[1] = one[0]; dp[2] = min( one[0] + one[1], two[0] ); for( int i = 3; i <= k; i++ ) dp[i] = min( dp[i - 1] + one[i - 1], dp[i - 2] + two[i - 2] ); int h = 8, m = 0, s = 0; s = dp[k] % 60; m = dp[k] / 60 % 60; h += dp[k] / 60 / 60; if( h < 10 ) cout << "0" << h << ":"; else cout << h << ":"; if( m < 10 ) cout << "0" << m << ":"; else cout << m << ":"; if( s < 10 ) cout << "0" << s << " am\n"; else cout << s << " am\n"; } return 0; }
相关文章推荐
- Smart210学习记录----beep linux字符设备驱动
- Runner站立会议08
- C#项目图文说明 不允许所请求的注册表访问权 异常的一种解决方式
- HDU:4004 The Frog's Games(二分)
- [C语言][LeetCode][74]Search a 2D Matrix
- MySQL无法被远程访问,错误提示10038
- Python:初识Python(一)
- LeetCode *** 166. Fraction to Recurring Decimal
- java--线程
- 20160427Struts2--入门1
- jstree的基本使用例子
- ViewDragHelper
- Android转型javaweb心得体会(第一个月)
- 2015年中国手机APP市场研究报告
- LeetCode *** 29. Divide Two Integers(binary search)
- ACM--酷酷的单词--CSU 1505--湖南第十届省赛
- 几种常用容器的分析与比较
- poj 1573 Robot Motion
- Date 和 SimpleDateFormat 类表示时间
- Swift之逻辑分支&循环的介绍