当前位置: 首页 > news >正文

【华为机试】2023年真题B卷(python)-冠亚军排名-奖牌榜排名

一、题目

题目描述:

2012伦敦奥运会即将到来,大家都非常关注奖牌榜的情况,现在我们假设奖牌榜的排名规则如下. 
1.首先gold medal数量多的排在前面 
2.其次silver medal数量多的排在前面 
3.然后bronze medal数量多的排在前面 
4.若以上三个条件仍无法区分名次,则以国家名称的字典顺序排定 我们假设国家名称不超过二十个字符,各类奖牌数不超过100,且大于0

二、输入输出

输入描述:
第一行输入一个整数N(0<N<21),代表国家数量然后接下来的N行,每行包含1个字符串Name表示各个国家的名称和三个整数Gi.Si,Bi 表示每个获得的aold medal.silver medal.bronze medal的数量,以空格隔开,如(China 51 20 21). 
具体见样例输入。
5 China 32 28 34 
England 12 34 22 
France 23 33 2 
Japan 12 34 25 
Rusia 23 43 0
输出描述:
输出奖牌榜的依次顺序,只输出国家名称,各占一行,具体见样例输出 China Rusia France Japan England

三、示例

示例1: 
输入:

China 32 28 34 
England 12 34 22 
France 23 33 2 
Japan 12 34 25
Rusia 23 43 0 
输出:
China

Rusia

France

Japan

England 
说明:

四、解题思路

自定义排序

五、参考代码 

# -*- coding: utf-8 -*-
'''
@File    :   2023-B-冠亚军排名-奖牌榜排名.py
@Time    :   2023/12/29 18:50:01
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''import bisectdef print_countries_by_medals(num_countries):countries = []for _ in range(num_countries):name, gold, silver, bronze = input().strip().split()gold, silver, bronze = -int(gold), -int(silver), -int(bronze)country_tuple = (gold, silver, bronze, name)  # 创建国家元组bisect.insort(countries, country_tuple)  # 将国家元组按奖牌数插入到合适的位置for country in countries:print(country[3])  # 输出国家名称num_countries = int(input().strip())  # 国家数量
print_countries_by_medals(num_countries)
http://www.lryc.cn/news/270476.html

相关文章:

  • MyBatisPlus之逻辑删除
  • 在macOS中搭建.NET MAUI开发环境
  • [NCTF 2022]calc
  • 【pandas_不重复项计数】
  • 菜鸟学习vue3笔记-vue hooks初体验
  • 81 使用DFS和BFS解机器人的运动范围
  • vue-springboot基于JavaWeb的家装一体化商城平台guptn
  • .NET进阶篇06-async异步、thread多线程2
  • java 方法
  • HarmonyOS 组件通用属性之通用事件 文档参数讲解(点击事件)
  • 毕业设计之开题报告
  • 【数据结构】详细剖析线性表
  • 通过数字证书对PDF电子文件进行数字签名/盖章
  • 2007~2016 年税调经纬度及其所处的省市区县乡镇数据
  • SLAM学习入门--编程语言
  • Go语言程序设计-第6章--方法
  • AI按理说应该最擅长理工,为啥先冲击文艺行业?
  • 蓝牙物联网移动硬件数据传输系统解决方案
  • Linux下Web服务器工作模型及Nginx工作原理详解
  • AJAX: 整理2:学习原生的AJAX,这边借助express框架
  • 二、计算机软件及其使用-文字处理软件 Word 2016
  • Linux LVM逻辑卷
  • Hive生产调优介绍
  • 如何理解鼠标点击事件在程序中的处理
  • 基于JWT的用户token验证
  • 通过 conda 安装 的 detectron2
  • 嵌入式开发——SPI OLED屏幕案例
  • ibm上电时序(视频内容)
  • 如何在Vue.js中使用$emit进行组件通信
  • SPSS相关统计学知识精要回顾-大家都来做做