Files

92 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 比赛
## 题目描述
- 一个有N个选手参加比赛选手编号为1~N3<=N<=100有M3<=M<=10个评委对选手进行打分。
- 打分规则为每个评委对选手打分最高分10分最低分1分。
- 请计算得分最多的3位选手的编号。
- 如果得分相同,则得分高分值最多的选手排名靠前
- (10分数量相同则比较9分的数量以此类推用例中不会出现多个选手得分完全相同的情况)。
## 输入描述
- 第一行为半角逗号分割的两个正整数第一个数字表示M3<=M<=10个评委第二个数字表示N3<=N<=100个选手。
- 第2到M+1行是半角逗号分割的整数序列表示评委为每个选手的打分0号下标数字表示1号选手分数1号下标数字表示2号选手分数依次类推。
## 输出描述
- 选手前3名的编号。
- 注:若输入为异常,输出-1如M、N、打分不在范围内。
## 用例
| 输入 | 4,5<br/>10,6,9,7,6<br/>9,10,6,7,5<br/>8,10,6,5,10<br/>9,10,8,4,9 |
| --- | ---------------------------------------------------------------------------------------------------------------------------------- |
| 输出 | 2,1,5 |
| 说明 | 第一行代表有4个评委5个选手参加比赛<br/>矩阵代表是4*5每个数字是选手的编号每一行代表一个评委对选手的打分排序<br/>2号选手得分36分排第11号选手36分排第25号选手30分(2号10分值有3个1号10分值只有1个所以2号排第一) |
| 输入 | 2,5<br/>7,3,5,4,2<br/>8,5,4,4,3 |
| --- | ------------------------------- |
| 输出 | -1 |
| 说明 | 只有2个评委要求最少为3个评委 |
| 输入 | 4,2<br/>8,5<br/>5,6<br/>10,4<br/>8,9 |
| --- | ------------------------------------ |
| 输出 | -1 |
| 说明 | 只有2名选手参加要求最少为3名 |
| 输入 | 4,5<br/>11,6,9,7,8<br/>9,10,6,7,8<br/>8,10,6,9,7<br/>9,10,8,6,7 |
| --- | --------------------------------------------------------------- |
| 输出 | -1 |
| 说明 | 第一个评委给第一个选手打分11无效分数 |
## 题目解析
考察数组排序,主要难点在于下面逻辑的设计:
    如果得分相同,则得分高分值最多的选手排名靠前
## 相关延伸
对新手来说map、function.cmp_to_key的使用方法