华为OD机考双机位C卷 - 优选核酸检测点(Java & Python& JS & C/C++ & GO )

优选核酸检测点

2025华为OD机试双机位C卷 - 华为OD上机考试双机位C卷

华为OD机试双机位C卷真题目录点击查看: 【全网首发】2025华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)

题目描述

张三要去外地出差,需要做核酸,需要在指定时间点前做完核酸,请帮他找到满足条件的核酸检测点。

  • 给出一组核酸检测点的距离和每个核酸检测点当前的人数

  • 给出张三要去做核酸的出发时间 出发时间是10分钟的倍数,同时给出张三做核酸的最晚结束时间

  • 题目中给出的距离是整数,单位是公里,时间1分钟为一基本单位

去找核酸点时,有如下的限制:

  • 去往核酸点的路上,每公里距离花费时间10分钟,费用是10元

  • 核酸点每检测一个人的时间花费是1分钟

  • 每个核酸点工作时间都是8点到20点中间不休息,核酸点准时工作,早到晚到都不检测

  • 核酸检测结果可立刻知道

  • 在张三去某个核酸点的路上花费的时间内,此核酸检测点的人数是动态变化的,变化规则是

  1. 在非核酸检测时间内,没有人排队

  2. 8点-10点每分钟增加3人

  3. 12点-14点每分钟增加10人

  4. 18点-20点每分钟增加20人。

  5. 其他时间每5分钟增加1人。

要求将所有满足条件的核酸检测点按照优选规则排序列出 :
优选规则:

  1. 花费时间最少的核酸检测点排在前面。

  2. 花费时间一样,花费费用最少的核酸检测点排在前面。

  3. 时间和费用一样,则ID值最小的排在前面

输入描述

H1 M1
H2 M2
N
ID1 D1 C1
ID2 D2 C2
…
IDn Dn Cn

H1:当前时间的小时数。
M1:当前时间的分钟数,
H2:指定完成核算时间的小时数。
M2:指定完成核算时间的分钟数。
N:所有核酸检测点个数。
ID1:核酸点的ID值。
D1:核酸检测点距离张三的距离。
C1:核酸检测点当前检测的人数。

输出描述

N
I2 T2 M2
I3 T3 M3

N:满足要求的核酸检测点个数
I2:选择后的核酸检测点ID
T2:做完核酸花费的总时间(分钟)
M3:去该核算点花费的费用

示例1

输入

10 30
14 50
3
1 10 19
2 8 20
3 21 3

输出

2
2 80 80
1 190 100

说明

解题思路

1. 理解问题

张三需要在指定时间前完成核酸检测,需要从多个核酸检测点中选择合适的地点。每个核酸检测点有三个属性:ID、距离和当前排队人数。

2. 时间处理

  • 将所有时间统一转换为分钟表示,方便计算
  • 当前时间为 start = currentHour * 60 + currentMinute
  • 目标完成时间为 end = targetHour * 60 + targetMinute

3. 计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值