zoukankan      html  css  js  c++  java
  • HDU

    Tickets

    题目大意:

    售票员想尽可能早的下班,现在有n个人,每个人购票都有一个时间Si,然后也给你两个相邻的人一起售票所需的时间Di,现在要你帮助售票员尽可能快的售完票,并且输出该售票员的下班时间,开始售票时间为08:00:00  am.

    数据范围:

    1n1000,0Si25s,0Di50s.

    解题思路:

    刚开始看数据范围2000,以为要n方做,之后写的时候发现直接一层循环就能实现状态的转移,之后处理一下输出的时间就行了。状态为:
    dp[i]=min(dp[i1]+S[i],dp[i2]+min(D[i1],S[i1]+S[i]))
    dp[i]代表售完第i的人的票所需的最短时间,第一部分是自己一个人售票,第二个是和相邻的前一人一起。

    AC代码:

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<cstdlib>
    #include<algorithm>
    using namespace std;
    const int maxn = 2000;
    int a[maxn + 5], b[maxn + 5];
    int hour, minute, second;
    int T, n;
    int dp[maxn + 5];
    int main() {
        scanf("%d", &T);
        while(T--) {
            memset(dp, 0, sizeof(dp));
            hour = 8;
            minute = second = 0;
            scanf("%d", &n);
            for(int i = 1; i <= n; i++)scanf("%d", &a[i]);
            for(int i = 1; i < n; i++)scanf("%d", &b[i]);
            dp[1] = a[1];
            for(int i = 2; i <= n; i++) {
                dp[i] = min(dp[i - 1] + a[i], dp[i - 2] + min(a[i - 1] + a[i], b[i - 1]));
            }
            bool flag = 0;//记录是上午还是下午,下午是从12:00:00开始的,到13:00:00就变成了1:00:00(上下午肯定是12小时制的啦)
            second = dp[n];
            minute = second / 60;
            second %= 60;
            hour += minute / 60;
            minute %= 60;
            if(hour >= 13)hour %= 12, flag = 1;
            if(hour < 10)printf("0");
            printf("%d:", hour);
            if(minute < 10)printf("0");
            printf("%d:", minute);
            if(second < 10)printf("0");
            printf("%d", second);
            if(flag == 1)printf(" pm
    ");
            else printf(" am
    ");
        }
        return 0;
    }
  • 相关阅读:
    JavaScript入门知识点整理
    正则表达式
    bootstrap css编码规范
    JavaScript高级编程(学习笔记)
    【 D3.js 选择集与数据详解 — 2 】 使用data()绑定数据
    bootstrap table:JQuery中each方法绑定blur事件监听input输入是否合法,进入死循环
    bootstrap-table中导出excel插件bootstrap-table-export使用
    托业考后感
    《Pride and Prejudice》英文版读后记忆
    迷茫的当下,我在做什么
  • 原文地址:https://www.cnblogs.com/TRDD/p/9813530.html
Copyright © 2011-2022 走看看