zoukankan      html  css  js  c++  java
  • Hdu 1260 【DP】.cpp

      题意:

      知道一个人买票花的时间和和前面那个人一起买票花的时间,问最少花多少时间可以把票卖完..

      输入:

        给出T,表示有T组样例

        给出n,表示有n个人买票..

        给出n个数表示这个人单独买票会花的时间..

        给出n-1个数,表示这个人和前面那个人一起买票会花的时间..

        

    思路:

      状态转移方程是:dp[i] = min(dp[i-1]+单独买花的时间, dp[i-2]+和前面那个人一起买花的时间)

      初始状态是dp[1] = 第一个人单独买话的时间

      

    Tips:

      nothing..??!

    Code:

     1 #include <stdio.h>
     2 #include <cstring>
     3 #include <algorithm>
     4 using namespace std;
     5 
     6 const int MAXN = 2010;
     7 
     8 int main()
     9 {
    10     int T, n;
    11     int d[MAXN], s[MAXN], dp[MAXN] = {0};
    12     int hh, mm, ss;
    13     scanf("%d", &T);
    14     while (T--) {
    15         scanf("%d", &n);
    16         for (int i = 1; i <= n; ++i)
    17             scanf("%d", &s[i]);
    18         for (int i = 2; i <= n; ++i)
    19             scanf("%d", &d[i]);
    20         dp[1] = s[1];
    21         for (int i = 2; i <= n; ++i)
    22             dp[i] = min(dp[i-1]+s[i], dp[i-2]+d[i]);
    23         hh = dp[n]/3600;
    24         mm = dp[n]%3600/60;
    25         ss = dp[n]%60;
    26         printf("%02d:%02d:%02d%s\n", (8+hh)%24, mm, ss, (hh+8)%24>12?" pm":" am");
    27     }
    28     return 0;
    29 }
    View Code


    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1260

  • 相关阅读:
    公钥基础设施PKI 简介
    密码库LibTomcrypt的内容介绍及分析
    trace
    winform(C#)拖拽实现获得文件路径
    无线网络技术
    设备控制选项的部分列表
    dll #pragma data_seg注意事项
    RFC
    奥运火炬传递路线
    WMIC命令大全
  • 原文地址:https://www.cnblogs.com/Griselda/p/3118892.html
Copyright © 2011-2022 走看看