HDU 1260 Tickets

来源:互联网 发布:软件开发助理发展前景 编辑:程序博客网 时间:2024/06/11 11:56

题目地址:点击打开链接

思路:刚开始就想错了,能看出来是动态规划,但是就是想不出具有最优子结构的递推式,我想到的是每个人既可以与前面的一个人一起买,又可以和后面的一个人一起买,不具有无后向性的要求,看了别人的代码就醒悟了,汗,解释看代码,dp[i]表示的是前i个人买票所需要的时间,还有就是测试数据不会超过24小时,不用再对小时%24,午夜12点是am,中午12点是pm

AC代码:

#include<stdio.h>int a[2010],b[2010],dp[2010];int min(int a,int b){return a > b ? b : a;}int main(){int n,k,i,hour,minute,seconds;scanf("%d",&n);while(n--){scanf("%d",&k);for(i=1; i<=k; i++){scanf("%d",&a[i]);}for(i=1; i<=k-1; i++){scanf("%d",&b[i]);}dp[0] = 0;dp[1] = a[1];//前1个人买时只能是他自己for(i=2; i<=k; i++){dp[i] = min(dp[i-1] + a[i],dp[i-2] + b[i-1]);//dp[2] = min(dp[1] + a[2],dp[0] + b[2]),dp[3] = min(dp[2] + a[3],dp[1] + b[2]),2与1和3一起买的情况全考虑了}hour = 8 + dp[k] / 3600;minute = dp[k] % 3600 / 60;seconds = dp[k] % 60;if(hour < 12){printf("%02d:%02d:%02d",hour,minute,seconds);printf(" am\n");}else{printf("%02d:%02d:%02d",hour % 12,minute,seconds);printf(" pm\n");}}return 0;}




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 十八线女配穿进后宫演顶流 斗罗:重生胡列娜在武魂殿当团宠 大景女星官 报!娘娘在种田路上福星高照 靠美食成为星际首富 夫人她每天都想摸鱼摆烂 寒门重生女 穿书:侧妃她要改剧本 作妖小青梅总想遇见我 重生成团宠文炮灰 全师门就我一个人是废柴 反派家的团宠崽崽是神兽 越界臣服 重生之鱼刺救我狗命 修仙:哈哈哈鸡汤来咯 萌宝来袭:带着空间穿九零 快跑,宿主她不对劲 小哭包她软软糯糯 超甜!重生后左相被我撩到腿软 超真实探案推理游戏 惊!霍总怀里的小娇妻失忆后想逃婚 我和暴君有个崽 荒野求生我靠传播非遗爆红全世界 肆意难撩 女尊之夫郎他娇软又呆萌 穿书后,小茶精在疯批怀里撒娇 拯救六界从谈恋爱开始 重生后前世宿敌说要养我 她的沙雕又暴露了 在虐文里绑定了男主系统 我在末世成了领主大人 玄学老祖上综艺后轰动全球了 我继承了老公的神位 仵作掌中娇 世子爷她不可能是女的 穿进红楼后,我成了人生赢家 假死后夫人她称霸黑莲界 奶萌小团宠她觉醒了种田系统 巨星的大佬青梅 总裁的小撩精又生气了 开荒种田:农门辣妻有空间