zoukankan      html  css  js  c++  java
  • PTA数据结构与算法题目集(中文) 7-38寻找大富翁 (25 分)

    PTA数据结构与算法题目集(中文)  7-38寻找大富翁 (25 分)

    7-38 寻找大富翁 (25 分)
     

    胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。

    输入格式:

    输入首先给出两个正整数N(≤)和M(≤),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔。

    输出格式:

    在一行内按非递增顺序输出资产排前M位的大富翁的个人资产值。数字间以空格分隔,但结尾不得有多余空格。

    输入样例:

    8 3
    8 12 7 3 20 9 5 18
    

    输出样例:

    20 18 12
    题目分析:一道利用表排序的题目 注意下结果中不同情况的处理
     1 #define _CRT_SECURE_NO_WARNINGS
     2 #include<stdio.h>
     3 #include<string.h>
     4 #include<malloc.h>
     5 
     6 int Table[1000000];
     7 int main()
     8 {
     9     int N, M;
    10     int num;
    11     scanf("%d%d", &N, &M);
    12     int Max=-1;
    13     for (int i = 0; i < N; i++)
    14     {
    15         scanf("%d", &num);
    16         Table[num]++;
    17         if (num > Max)
    18             Max = num;
    19     }
    20     int j = 0;
    21     if(N>=M)
    22         for (int i = Max; i>0;i--)
    23         {
    24             while (Table[i])
    25             {
    26                 j++;
    27                 if (j == M)
    28                 {
    29                     printf("%d", i);
    30                     break;
    31                 }
    32                 else
    33                     printf("%d ", i);
    34                 Table[i]--;
    35             }
    36             if (j == M)
    37                 break;
    38         }
    39     else
    40         for (int i = Max; i > 0; i--)
    41         {
    42             while (Table[i])
    43             {
    44                 j++;
    45                 if (j == N)
    46                 {
    47                     printf("%d", i);
    48                     break;
    49                 }
    50                 else
    51                     printf("%d ", i);
    52                 Table[i]--;
    53             }
    54             if (j == N)
    55                 break;
    56         }
    57     return 0;
    58 }
    View Code
  • 相关阅读:
    P3158 [CQOI2011]放棋子
    Codeforces 1220D. Alex and Julian
    Codeforces 1220C. Substring Game in the Lesson
    Codeforces 1220B. Multiplication Table
    BZOJ 3260. 跳
    BZOJ 3251. 树上三角形
    P1398 [NOI2013]书法家
    P1224 [NOI2013]向量内积
    The Preliminary Contest for ICPC Asia Shanghai 2019 A. Lightning Routing I
    P4271 [USACO18FEB]New Barns
  • 原文地址:https://www.cnblogs.com/57one/p/11673150.html
Copyright © 2011-2022 走看看