博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CCF NOI1087 第K名
阅读量:5764 次
发布时间:2019-06-18

本文共 875 字,大约阅读时间需要 2 分钟。

问题链接


时间限制: 1000 ms  空间限制: 262144 KB

题目描述 

  刚举行的万米长跑活动中,有N个人跑完了全程,所用的时间都不相同。颁奖时为了增加趣味性,随机抽了一个数K,要奖励第K名一双跑鞋。

  现在组委会给你N个人的姓名、成绩(用时,单位是秒),请你编程快速输出第K名的姓名。

输入

  第一行:2个整数N和K,范围[ 1≤ K ≤ N ≤ 100 ]。

  下面N行:每行第1个是字符串表示姓名;第2个是个整数,表示这个人跑完的使用时间。

输出

  一行,第K名的姓名。

样例输入

5 3

wangxi    2306
xiaoming  3013
zhangfan   3189
chengli    4012
jiangbou   2601
样例输出

xiaoming

数据范围限制

  1≤ K ≤ N ≤ 100

提示

 


问题分析

  这个问题可以用排序来解决。

程序说明

  (略)

要点详解

  • 使用宏定义可以使得代码可阅读性增强。
  • C++语言的排序函数是sort(),需要留意用法。


参考链接:(略)。

100分通过的C++程序:

#include 
#include
using namespace std;const int N = 100;struct _node { string name; int val;} a[N];bool cmp(_node a, _node b){ return a.val < b.val;}int main(){ int n, k; cin >> n >> k; for(int i=0; i
> a[i].name >> a[i].val; sort(a, a + n, cmp); cout << a[k - 1].name << endl; return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7563840.html

你可能感兴趣的文章
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
Oracle 备份与恢复学习笔记(5_1)
查看>>
Oracle 备份与恢复学习笔记(14)
查看>>
分布式配置中心disconf第一部(基本介绍)
查看>>
Scenario 9-Shared Uplink Set with Active/Active uplink,802.3ad(LACP)-Flex-10
查看>>
UML类图中的六种关系
查看>>
探寻Interpolator源码,自定义插值器
查看>>
一致性哈希
查看>>
mysql(待整理)
查看>>
看雪论坛502,出现安全宝?
查看>>
使用TMG配置×××注意事项
查看>>
使用PullToRefresh实现下拉刷新和上拉加载
查看>>
自适应轮播图
查看>>
mysql
查看>>
管家婆数据库823错误,并闩锁页错误数据恢复成功
查看>>
2012年电信业八大发展趋势
查看>>
Web日志安全分析工具 v2.0发布
查看>>