zoukankan      html  css  js  c++  java
  • 九度OJ 1034:寻找大富翁 (排序)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:5925

    解决:2375

    题目描述:
        浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.
    输入:
        输入包含多组测试用例.
        每个用例首先包含2个整数n(0<n<=100000)和m(0<m<=10),其中: n为镇上的人数,m为需要找出的大富翁数, 接下来一行输入镇上n个人的财富值.
        n和m同时为0时表示输入结束.
    输出:
        请输出乌镇前m个大富翁的财产数,财产多的排前面,如果大富翁不足m个,则全部输出,每组输出占一行.
    样例输入:
    3 1
    2 5 -1
    5 3
    1 2 3 4 5
    0 0
    样例输出:
    5
    5 4 3
    来源:
    2009年浙江大学计算机及软件工程研究生机试真题

    思路:

    比较简单的排序题。


    代码:

    #include <stdio.h>
    #include <stdlib.h>
     
    int cmp(const void *a, const void *b)
    {
        return *(int *)a - *(int *)b;
    }
     
    int main(void)
    {
        int n, m;
        int a[100000];
        int i;
     
        while (scanf("%d%d", &n, &m) != EOF)
        {
            if (n==0 && m==0)
                break;
     
            for (i=0; i<n; i++)
                scanf("%d", &a[i]);
     
            qsort(a, n, sizeof(a[0]), cmp);
     
            if (m == 0)
                continue;
            printf("%d", a[n-1]);
            m--;
            for (i=n-2; i>=0; i--)
            {
                if (m--)
                    printf(" %d", a[i]);
                else
                    break;
            }
            printf("
    ");
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1034
        User: liangrx06
        Language: C
        Result: Accepted
        Time:40 ms
        Memory:1236 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    JS时间框架之舍弃Moment.js拥抱Day.js
    快速理解Token,Cookie,Session
    一篇文章彻底弄懂CAS实现SSO单点登录原理
    debugging books
    debugging tools
    X64相关文章
    AMD developer
    kernel debugging
    Windows Kernel Security Training Courses
    windbg commands
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083997.html
Copyright © 2011-2022 走看看