【编程题目 |100分】免单统计 华为OD机试   2023 Q2考试题 B卷】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

华为商城举办了一个促销活动,如果某顾客是某一秒内最早时刻下单的顾客(可能是多个人),则可以获取免单。

请你编程计算有多少顾客可以获取免单。

解答要求

时间限制: 3000ms,内存限制: 64MB

输入

输入为 n 行数据,每一行表示一位顾客的下单时间

以(年-月-日时-分-秒.毫秒) yyyy-MM-ddHH:mm:ss.fff 形式给出。

0<n<50000
2000<yyyy<2020
0<MM<=12
0<dd<=28
0<=HH<=23
0<=mm<=59
0<=ss<=59
0<=fff<=999

所有输入保证合法。

输出

输出一个整数,表示有多少顾客可以获取免单。


C++


#include <iostream>
#include <map>
#include <string>

using namespace std;

struct FirstOrder
{
    int microSecond;
    int count;
};

bool comp(FirstOrder &lhs,FirstOrder &rhs)
{
    return lhs.microSecond == rhs.microSecond ? lhs.count < rhs.count:lhs.microSecond > rhs.microSecond;
}

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python解法一


while 1:
    try:
        size = int(input())
        order_time = [input() for _ in range(size)]

        dp = {}

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看


Python解法二


from typing import List


class Solution:

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看