华为OD机试 - 优选核酸检测点(Python)| 真题+思路+代码

本文提供了一道华为OD机试题目,涉及优选核酸检测点的问题。解题思路包括利用Python进行出行规划算法,考虑路程、费用和时间等因素,对核酸检测点进行排序。文章还分享了核心知识点和具体代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇题解:优选核酸检测点

题目

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

  1. 给出一组核酸检测点的距离和每个核酸检测点当前的人数
  2. 给出张三要去做核酸的出发时间 出发时间是 10 分钟的倍数
    同时给出张三做核酸的最晚结束时间
  3. 题目中给出的距离是整数,单位是公里,时间 1 分钟为一基本单位

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

  1. 去往核酸点的路上,每公里距离花费时间 10 分钟,费用是 10 元
  2. 核酸点每检测一个人的时间花费是 1 分钟
  3. 每个核酸点工作时间都是 8 点到 20 点中间不休息
    核酸点准时工作,早到晚到都不检测
  4. 核酸检测结果可立刻知道
  5. 在张三去某个核酸点的路上花费的时间内,此核酸检测点的人数是动态变化的,变化规则是
    1. 在非核酸检测时间内,没有人排队
    2. 8 点-10 点每分钟增加 3 人
    3. 12 点-14 点每分钟增加 10 人

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

  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<

华为OD-2023真题主要考察了以下几个方面的知识点: 1. 数据结构与算法:题目涉及了常见的数据结构和算法,如数组、链表、树、图、排序、搜索等。要求考生熟悉这些数据结构的基本操作和常用算法的实现方法。 2. 编程语言:题目要求使用C++或Java语言完成编程任务,要求考生熟悉相应语言的语法和常用的库函数使用方法。 3. 网络通信:题目涉及了网络通信相关的知识点,如TCP/IP协议、HTTP协议、socket编程等。要求考生了解网络通信的基本概念和实现方式。 4. 操作系统:题目要求考生熟悉操作系统相关的知识,如进程管理、内存管理、文件系统等。要求考生了解操作系统的基本功能和实现原理。 5. 数据库:题目涉及了数据库相关的知识点,如SQL语句的编写、数据库的设计和优化等。要求考生具备数据库的基本操作和设计能力。 6. 设计模式:题目要求考生能够根据给定的需求设计相应的对象和类,并且符合设计模式的原则。要求考生熟悉常见的设计模式和其应用场景。 7. 系统设计与架构:题目要求考生从整体上设计和实现一个系统,并考虑系统的性能、可扩展性等因素。要求考生了解系统设计的基本原则和方法。 以上是华为OD-2023真题的一些考点分类。考生在复习备考时,可以根据这些考点有针对性地进行学习和练习,提升自己的应能力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦想橡皮擦

如有帮助,来瓶可乐

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

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

打赏作者

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

抵扣说明:

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

余额充值