杭电oj--Tickets(dp)

摘要:
如果是这样的话,我会感谢你的帮助。输入有两种不同的场景,每个场景由三行组成:1)一个整数K表示总人数;2) 亲属号码表示每个人花费的时间;3) (K-1)整数表示两个相邻(相似)人一起购买两张票所需的时间。输出对于每种情况,请告诉Joeathati他们可能会尽快回家。每天早上8点开始上班。格式HH:MM:SSam|pm.SampleInput2220254018SampleOutput08:00:40am08:00:08amSource浙江理工大学第四届本科生课程设计竞赛推荐JGMachining |我们为您精心挑选了几个类似的问题:11601231107410691159我觉得dp真的很强大,dp[I]=min。在整个周期中比较最佳解决方案。Dp[i-1]+num1[i]是每次未买票的人花费的时间。dp[i-2]+num2[i-1]是两个人一起买票的时间(两次)--------据说中午是下午,这是有争议的。
Tickets

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1941    Accepted Submission(s): 938


Problem Description
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.
 
Input
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.
 
Output
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.
 
Sample Input
2 2 20 25 40 1 8
 
Sample Output
08:00:40 am 08:00:08 am
 
Source
浙江工业大学第四届大学生程序设计竞赛
 
Recommend
JGShining   |   We have carefully selected several similar problems for you:  1160 1231 1074 1069 1159 
感觉dp真强大, dp[i]=min(dp[i-1]+num1[i] , dp[i-2]+num2[i-1]). 通过循环来比较求的最优解。 dp[i-1]+num1[i]每次+一个未买票的人所耗时间, dp[i-2]+num2[i-1]为两人共同买票(两次)所用时间。 求最小值。
-------- 正午据说是pm , 说法存在争议。 
 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 #define min(a, b) a<b?a:b 
 5 using namespace std;
 6 int main()
 7 {
 8     int t;
 9     int num1[2020], num2[2020], dp[2020];
10     scanf("%d", &t);
11     while(t--)
12     {
13         int m;
14         scanf("%d", &m);
15         for(int i = 1; i <= m; i++)
16             scanf("%d", &num1[i]);
17         for(int i = 1; i <= m-1; i++)
18             scanf("%d", &num2[i]);
19         memset(dp, 0, sizeof(dp));
20         dp[1] = num1[1];
21         for(int i = 2; i <= m; i++)
22             dp[i] = min(dp[i-1] + num1[i], dp[i-2] + num2[i-1]);
23         int b, c, d;
24         b = dp[m] % 60;
25         c = dp[m] / 60 % 60;
26         d = dp[m] /3600;
27         d += 8;
28         char c1, c2;
29         if(d < 12)
30         {
31             c1 = 'a';
32             c2 = 'm';
33         }
34         else
35         {
36             d %= 12;
37             c1 = 'p';
38             c2 = 'm';
39         }
40         printf("%02d:%02d:%02d %c%c
", d, c, b, c1, c2);
41     }
42     return 0;
43 }

免责声明:文章转载自《杭电oj--Tickets(dp)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Golang基础编程(四)-Map(集合)、Slice(切片)、Range建立私有CA和颁发证书下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

android studio如何查看数据库文件

Android Studio可以通过两种方式查看数据库文件:1。SQLCOUT优点:功能强大。缺点:解决麻烦。2.Android DeviceMonitor中FileExpoler的优点:免费缺点:需要导出数据库并使用数据库可视化工具查看;手机需要root获得su权限,并通过adb命令修改/data/data/data下数据库文件的访问权限。具体修改方法:...

Element plus的tree组件实现单选和搜索功能

--elementplus树组件实现单选及搜索功能--˃Elementplus树组件实现单选及搜索功能获取选中的节点//给节点添加classconstcustomNodeClass==˃{if{return'no-checkbox-node';}returnnull;};exportdefault{name:'tree-radio',data(){retur...

backgroundsize

当背景大小值为和时,可以设置两个值,也可以设置一个值。当只取一个值时,第二个值相当于auto,但此处的auto不会将背景图像的高度保持在其原始高度,而是与第一个值相同。此外,如果只取一个值,宽度和高度将相同,这相当于背景大小:80%自动。...

汇编指令MOV

格式:MOVDST,SRC例如:MOVEAX,#050aH;将十六进制050a传送到通用寄存器eax中MOVDI,BXMOVES,AXMOVAX,DSMOVAL,23HMOV[2000H],02HMOV[2061H],BX...

dBFs和dBm

dBFs和dBmdBFs是用来表征数字域功率值的大小,一般情况下我们定义0dBFs为数字域满刻度功率值,即数字域中功率的最大值;因此看到的dBFs的值都是负的。...

uniapp 实现动态切换全局主题色

要求:要在开发的应用程序中切换主题颜色,如果只需要一种主题颜色,但不需要切换,则可以使用uniappSCSS文件文档思想:预先在公共css中定义所需的主题颜色。这里只是一个定义两种颜色的参考文档的示例,可以从中获得想法。您可以使用css属性选择器动态设置数据xx以动态更改主题颜色。最初,您希望将一个变量直接混合到mixin中,以实现主题颜色的全局控制,忽略了...