【华为OD机试真题 python】 比赛【2022 Q4 | 100分】
创始人
2024-01-22 13:08:52
0

题目描述

  • 一个有N个选手参加比赛,选手编号为1~N(3<=N<=100),有M(3<=M<=10)个评委对选手进行打分。
  • 打分规则为每个评委对选手打分,最高分10分,最低分1分。
  • 请计算得分最多的3位选手的编号。
  • 如果得分相同,则得分高分值最多的选手排名靠前
  • (10分数量相同,则比较9分的数量,以此类推,用例中不会出现多个选手得分完全相同的情况)。

输入描述:

  • 第一行为半角逗号分割的两个正整数,第一个数字表示M(3<=M<=10)个评委,第二个数字表示N(3<=N<=100)个选手。
  • 第2到M+1行是半角逗号分割的整数序列,表示评委为每个选手的打分,0号下标数字表示1号选手分数,1号下标数字表示2号选手分数,依次类推。

输出描述:

  • 选手前3名的编号。
  • 注:若输入为异常,输出-1,如M、N、打分不在范围内。

示例1   输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4,5

10,6,9,7,6

9,10,6,7,5

8,10,6,5,10

9,10,8,4,9

输出

2,1,5

说明

第一行代表有4个评委,5个选手参加比赛

矩阵代表是4*5,每个数字是选手的编号,每一行代表一个评委对选手的打分排序,

2号选手得分36分排第1,1号选手36分排第2,5号选手30分(2号10分值有3个,1号10分值只有1个,所以2号排第一)

示例2   输入输出示例仅供调试,后台判题数据一般不包含示例

输入

2,5

7,3,5,4,2

8,5,4,4,3

输出

-1

说明

  • 只有2个评委,要求最少为3个评委

示例3   输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4,2

8,5

5,6

10,4

8,9

输出

-1

说明

只有2名选手参加,要求最少为3名

示例4   输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4,5

11,6,9,7,8

9,10,6,7,8

8,10,6,9,7

9,10,8,6,7

输出

-1

说明

  • 第一个评委给第一个选手打分11,无效分数

Python

def compare_score(A, B, score_list):scoreA = [ac[A] for ac in score_list]scoreB = [ac[B] for ac in score_list]scoreA.sort(reverse=True)  scoreB.sort(reverse=True)  totalA = sum(scoreA)totalB = sum(scoreB)if totalA > totalB:return Aelif totalA < totalB:return Belse:for index in range(int(m)):if scoreA[index] - scoreB[index] > 0:return Aelif scoreA[index] - scoreB[index] < 0:return Belse:continuedef check_variable(score_list):for li in score_list:for l in li:if int(l) > 10 or int(l) < 1:return Falsereturn Truetry:m, n = input().split(',')score_list = []flag = 1if 2 <= int(m) <= 10 and 3 <= int(n) <= 100:for i in range(int(m)):score = input().split(',')score_list.append([int(s) for s in score])flag = check_variable(score_list)  if flag:namelist = []for loop in range(3): A = 0for j in range(int(n) - 1):if int(A) + 1 in namelist or j + 2 in namelist:continuebig = compare_score(A, j + 1, score_list)A = bignamelist.append(int(A) + 1)  print(','.join(namelist))else:print(-1)else:print(-1)
except:print(-1)

相关内容

热门资讯

中证报:服务消费政策支持料加码 1月16日召开的国务院常务会议提出,要加快培育服务消费新增长点。2026年开年以来,服务消费领域政策...
原创 完... 提高资本市场的包容性是近年来管理层谈论得比较多的一个话题,以至于在不久前中央重要会议通过的《关于制定...
公租房税收优惠政策延续实施 本报北京1月18日电 (记者曲哲涵)为继续支持公共租赁住房(以下简称“公租房”)建设和运营,财政部、...
日本刑事犯罪案件连续三年增长 日本法务省近日公布的2025年版犯罪白皮书显示,2024年日本警方认定的刑事犯罪案件达73.76万余...
上海“十五五”规划建议:落实国... 《中共上海市委关于制定上海市国民经济和社会发展第十五个五年规划的建议》发布。其中提出,实施新时代立德...
制度创新破壁前行 我是中国(河南)自贸试验区开封片区管委会副主任李战军,自片区成立以来,我和同事们始终“大胆试、大胆闯...
强农惠农富农政策效能怎样进一步... 读者关切 我是一名村干部,这些年村里发生了不少变化。想了解一下,未来国家在强农惠农富农方面还有哪些政...
数字人民币存款利息如何计算(政... 1月1日起,新一代数字人民币计量框架、管理体系、运行机制和生态体系正式启动实施,数字人民币升级为2....
政策“靶向”发力 巩固市场稳中... ● 本报记者 昝秀丽 “坚持稳字当头,巩固市场稳中向好势头”,这一部署,被列为证监会2026年资本市...
中国特色社会主义制度优势的生动... 杨泽坤 杨宜勇 五年规划作为中国国家治理体系的核心制度安排之一,被数十年的发展实践证明是确保国家长期...