问题标题: 酷町堂:考试订正-4194

0
0
已解决
武建豪
武建豪
中级天翼
中级天翼

选手名次

题目详情

题目描述 Description

n名选手参加比赛,比赛共分A,B,C 3个项目,现在选手们已经比完了全部项目,请你给他们排个名次,并输出前k名选手的信息。

排名按照这样的规则:先比较总分,总分高者名次在前;如果总分相同,则A项目得分高者排在前;如果A项目得分也相同,则选手名字字典序小的排在前。

输入描述 Input Description

n+1行,
第1行,一个正整数n,表示选手的人数(n<=50),一个正整数k,表示要输出前k名选手的信息。
后面n行,每行分别输入选手的姓名以及A,B,C三个项目的得分。

输出描述 Output Description

k行,前k名选手的信息。
每行分别输出选手的姓名以及A,B,C三个项目的得分。

样例输入 Sample Input

5 3 daxiong 70 50 60 xiaofu 50 80 50 panghu 60 70 60 jingxiang 90 50 60 duola 80 60 90

样例输出 Sample Output

duola 80 60 90 jingxiang 90 50 60 panghu 60 70 60


0
已采纳
蔡乐毅
蔡乐毅
高级光能
高级光能

结构体

四个变量:三个int(记录A,B,C的项目),string,名字

cmp函数:

if(x.A+x.B+x.C!=y.A+y.B+y.C) return x.A+x.B+x.C>y.A+y.B+y.C;
if(x.A!=y.A) return x.A>y.A;
return x.name<y.name;

接着直接输出就行了。

我要回答