• CCF NOI1087 第K名


    问题链接CCF NOI1087 第K名




    时间限制: 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 <iostream>
    #include <algorithm>
    
    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<n; i++)
            cin >> a[i].name >> a[i].val;
    
        sort(a, a + n, cmp);
    
        cout << a[k - 1].name << endl;
    
        return 0;
    }



  • 相关阅读:
    流光shader 和 流光+扭曲shader
    unity3d android动态更新dll
    Shader之溶解效果的几种实现方法
    我的第一个法线贴图
    windows 函数
    MFC 消息框
    C++ MFC棋牌类小游戏day1
    C++STL 预定义函数对象和函数适配器
    C++STL 函数对象和谓词
    C++STL 算法
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563840.html
Copyright © 2020-2023  润新知