HDU 1260 Tickets(基础dp)

来源:互联网 发布:少儿趣味编程 下载 编辑:程序博客网 时间:2024/05/16 09:26
/*基础dpH - Tickets时间: 2017/02/23题意: n个人在买电影票,可以两个相邻的一起买,也可以单独买,给出分别需要的时间,问需要的最短时间题解: dp[i] 代表前i人的最小花费时间*/#include<cstdio>#include<cstring>#include<cmath>#include<iostream>#include<algorithm>#include<queue>#include<map>using namespace std;#define N 2010#define INF 0x3f3f3f3fint a[N],b[N],dp[N];int main(){    int T;    scanf("%d",&T);    while(T--)    {        memset(dp,0,sizeof(dp));        int n;        scanf("%d",&n);        for(int i = 0; i < n; i++)            scanf("%d",&a[i]);        for(int i = 0; i < n-1; i++)            scanf("%d",&b[i]);        dp[0] = a[0];        for(int i = 1; i < n; i++)            dp[i] = min(dp[i-1]+a[i],dp[i-2]+b[i-1]);        int num = dp[n-1];        int h,m,s;        h=num/60/60;        num-=h*60*60;        m=num/60;        num-=m*60;        s=num;        printf("%02d:%02d:%02d",h+8>12? h+8-12:h+8,m,s);        printf(" %s\n",h+8>12? "pm":"am");    }    return 0;}

0 0
原创粉丝点击