问题标题: 酷町堂:请问第1281题怎么做

0
0
已解决
裴浩铭
裴浩铭
初级光能
初级光能

题目链接: 酷町堂:1281

1281   打字游戏(game)

经验值:800 时间限制:1000毫秒 内存限制:128MB

安徽省2010年信息学竞赛试题(小学组)

 不许抄袭,一旦发现,直接清空经验!

题目描述 Deion

学校组织了一场打字游戏比赛,该游戏开始后会不断从屏幕的上方掉下标有数字的气球,如果在气球坠入屏幕最下方之前按下气球上对应的数字键,则该气球就会被击破(屏幕上方掉下来有数字的气球最多为500个)。当游戏结束后,屏幕中会显示出该选手击破的气球上的所有数字,这些数字按被击破的先后顺序组成的数字串即为游戏者的比赛得分,得分最高者比赛胜出。作为裁判的小卡卡需要按照选手的比赛得分,按从小到大的顺序给每位选手排列名次。得分最高的选手名字排在第一行,而得分最低的选手名字排在最后一行。
请你帮助小卡卡编程完成。

输入描述 Input Deion

共2*N+1行。第一行是一个1到500的整数N,表示总共有N位比赛选手。以下2*N行依次给出每位选手的信息。每位选手的信息都由两行组成。第一行为选手的名字,名字由26个英文字母组成,名字的长度在1~50之间。第二行为一个由一连串的数字所组成的数字串,表示该名选手的得分,该得分的长度在0~500位之间。

输出描述 Output Deion

共N行。依次输出按得分从高到低排好序的各位选手的名字,每个名字占据单独的一行。若几个名字的得分相同,则按名字的字典顺序先后排列。

样例输入 Sample Input

6 Sedgewick 56541313484613131997132131312121 Parberry 31646431316464313131644979791313 Polya 6794313013464644313131313131 Motwani 13134949746416265468652 Gonzalez 1651644987436132164646499413131 Moret 1613131464613131313519

样例输出 Sample Output

Sedgewick Parberry Gonzalez Polya Motwani Moret

数据范围及提示 Data Size & Hint

50%的数据得分长度在0~10之间,1<N<10。
80%的数据得分长度在0~100之间,1<N<100。
100%的数据得分长度在0~500之间,1<N<500。


0
已采纳
万睿言
万睿言
初级光能
初级光能
核心思路是这样的:
1.得分从大到小
2. 名字字典序

对于数字串比较大小:
1.比较长度
2.比较数字串字典序 
剩下的主要难点就在于sort排序
排序cmp函数:
bool cmp(node x,node y){
    数字串长度从大到小排序
    如果数字串长度一样,按数字串字典序从大到小排序
    以上都不满足按照名字字典序从小到大排序
} 

 

0
0
0
我要回答