【华为OD机试真题 python】 比赛【2022 Q4 | 100分】
admin
2024-04-08 10:20:35

题目描述

  • 一个有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)

相关内容

热门资讯

宝鸡旅行社哪家强?2025年最... 随着旅游市场的全面复苏,宝鸡作为历史文化名城吸引了大量游客。然而,面对众多旅行社,游客常常陷入选择困...
带娃住敦煌沙漠帐篷,晚上真的会... 每当有家长咨询“带孩子住沙漠帐篷会不会冷”这个问题时,我眼前总会浮现出去年五月那个特别的夜晚——我们...
山东省旅游饭店行业从业人员服务... 齐鲁晚报·齐鲁壹点 吴昊 11月19日,山东省“技能兴鲁”职业技能大赛——第八届山东省旅游饭店行业从...
恩施这片神秘土地,相信每一个人... "真希望有机会还能再次来到恩施"——这句话道出了多少人的心声!恩施就像一位蒙着面纱的土家姑娘,初见惊...
陆毅一家四口都江堰游玩,夫妻牵... 陆毅一家四口最近在都江堰被网友偶遇,两个女儿穿着同款粉色衣服,手拉手走着,看起来特别温馨。 两个孩子...