zoukankan      html  css  js  c++  java
  • Tickets——H

                                                            H. Tickets

    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

    DP方程:dp[i] = min(dp[i-1]+ss[i], dp[i-2]+dd[i-1])
    #include <cstdio>
    #include <iostream>
    #include<cstring>
    using namespace std;
    int main()
      {
       int n,t,i,j;
       int a[2005],b[2005],dp[2005];
       scanf("%d",&t);
       while(t--)
       {
           scanf("%d",&n);
           for(i=1;i<=n;i++)
            scanf("%d",&a[i]);
            for(j=2;j<=n;j++)
                scanf("%d",&b[j]);
            dp[1]=a[1];
            for(i=2;i<=n;i++)
                dp[i]=min(dp[i-1]+a[i],dp[i-2]+b[i]);
            int hh = dp[n]/3600;
            int mm = dp[n]%3600/60;
            int ss = dp[n]%60;
        printf("%02d:%02d:%02d %s
    ", (8+hh)%24, mm, ss, (hh+8)%24>12? "pm": "am");
        }
        return 0;
    }
  • 相关阅读:
    Window10 Electron 开发环境搭建及打包exe程序
    windows 10 安装node.js
    php 电商系统SKU库存设计
    doT.js使用介绍
    ajax提交时 富文本CKEDITOR 获取不到内容
    tp5 接入腾讯对象存储COS
    redis搭建
    TP3.2.3 接入阿里sms 短信接口
    ckeditor + ckfinder + oss存储
    在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了。
  • 原文地址:https://www.cnblogs.com/fenhong/p/5295103.html
Copyright © 2011-2022 走看看