华为OD机试 - 射击比赛(Python)

Posted 坚果的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为OD机试 - 射击比赛(Python)相关的知识,希望对你有一定的参考价值。

射击比赛

题目

给定一个射击比赛成绩单
包含多个选手若干次射击的成绩分数
请对每个选手按其最高三个分数之和进行降序排名
输出降序排名后的选手 ID 序列
条件如下:

  1. 一个选手可以有多个射击成绩的分数 且次序不固定
  2. 如果一个选手成绩小于三个 则认为选手的所有成绩无效 排名忽略该选手
  3. 如果选手的成绩之和相等,则成绩相等的选手按照其 ID 降序排列

输入

输入第一行:一个整数 N
表示该场比赛总共进行了N次射击
产生N个成绩分数 2 <= N <= 100
输入第二行 一个长度为N的整数序列
表示参与本次射击的选手 Id
0 <= ID <= 99
输入第三行是长度为N的整数序列
表示参与每次射击的选手对应的成绩
0 <= 成绩 <= 100

输出

符合题设条件的降序排名后的选手 ID 序列

示例一

输入

13
3,3,7,4,4,4,4,7,7,3,5,5,5
53,80,68,24,39,76,66,16,100,55,53,80,55

输出

5,3,7,4

以上是关于华为OD机试 - 射击比赛(Python)的主要内容,如果未能解决你的问题,请参考以下文章

华为OD机试题,用 Java 解比赛评分问题

2022华为机试真题 C++ 实现统计射击比赛成绩

华为OD机试 - 数列还原(Python) | 机试题算法思路 2023

华为OD机试 - 端口合并(Python) | 机试题算法思路 2023

华为OD机试 - 快递货车(Python) | 机试题算法思路 2023

华为OD机试 - 通信误码(Python) | 机试题算法思路 2023