admin管理员组文章数量:1516870
OJ题——11. Olympic Game
题目描述
2012伦敦奥运会即将到来,大家都非常关注奖牌榜的情况,现在我们假设奖牌榜的排名规则如下:
1、首先gold medal数量多的排在前面;
2、其次silver medal数量多的排在前面;
3、然后bronze medal数量多的排在前面;
4、若以上三个条件仍无法区分名次,则以国家名称的字典序排定。
我们假设国家名称不超过20个字符、各种奖牌数不超过100,且大于等于0。
解答要求时间限制:1000ms, 内存限制:64MB
输入
第一行输入一个整数N(0<N<21),代表国家数量;
然后接下来的N行,每行包含一个字符串Namei表示每个国家的名称,和三个整数Gi、Si、Bi表示每个获得的gold medal、silver medal、bronze medal的数量,以空格隔开,如(China 51 20 21),具体见样例输入。
输出
输出奖牌榜的依次顺序,只输出国家名称,各占一行,具体见样例输出。
首先我们要注意题目中对奖牌数的排序和对国家名称的排序是不一样的,对奖牌数是从大到小,对国家名称是按照字典序排列的,为了便于进行排序,我们可以将奖牌数前面天津爱一个负号,这样使两个排序的元素都从小到大,具体Python代码如下:
import bisectdef func():n = int(input().strip())alist = []for i in range(n):name, gold, silver, bronze
本文标签: OJ题11 Olympic Game
版权声明:本文标题:OJ题——11. Olympic Game 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1730882488a1535211.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论