• 18107 校赛排名


    18107 校赛排名

    时间限制:4000MS  内存限制:65535K
    提交次数:0 通过次数:0

    题型: 编程题   语言: G++;GCC;VC

     

    Description

    校赛结束了,每一个参赛选手由3个数据项构成(通过题数,用时分钟数,姓名),排名按照通过题数排序
    通过题数多的排前,同题数的,罚时少的排前。如果题数相同,罚时也相同,而按数据读取的先后排。
    给你N个参赛选手的数据,按排序先后,输出姓名




    输入格式

    第一个数为N,(N<=500000)
    此后,每行一个参赛选手的数据,通过题数,用时分钟数,姓名,前两者为整型数,姓名为字符串(不多于20个字符)



    输出格式

    姓名排名



     

    输入样例

    4
    3 5 Jon
    5 100 Smith
    3 5 Tom
    6 95 Hel
    



     

    输出样例

    Hel
    Smith
    Jon
    Tom
    



     

    提示

    由于有500000个数据,输入和输出务必使用scanf和printf



     

    作者

     admin

        就用了个sort()的水题;唯一要注意的坑就是题目要求题数和时间都相同的时候是要按输入的顺序输出的,,所以给sort()写比较子的时候要注意得是稳定排序才可以;我这里是直接用了stable_sort()就过了;当然,也可以用另一个技巧:每输入一个人的数据,令time*n-i;这样一来就不会存在有题数相同的同时又时间相同的情况了。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 #include <cctype>
     6 #include <cmath>
     7 #include <algorithm>
     8 #include <set>
     9 #include <map>
    10 #include <queue>
    11 #include <stack>
    12 #include <utility>
    13 #include <vector>
    14 #define ll long long
    15 #define inf 0x3f3f3f3f
    16 #define MAXN 500000
    17 using namespace std;
    18 
    19 typedef struct node
    20 {
    21     int solve,time;
    22     char name[21];
    23 }node;
    24 node a[MAXN+5];
    25 bool cmp(node a,node b)
    26 {
    27     if(a.solve!=b.solve)
    28         return a.solve>b.solve;
    29     else
    30         return a.time<b.time;
    31 }
    32 int main()
    33 {
    34     //freopen("input.txt","r",stdin);
    35     int n;
    36     scanf("%d",&n);
    37     for(int i=0;i<n;i++)
    38         scanf("%d%d%s",&a[i].solve,&a[i].time,a[i].name);
    39     stable_sort(a,a+n,cmp);
    40     for(int i=0;i<n;i++)
    41         printf("%s
    ",a[i].name);
    42     return 0;
    43 }
  • 相关阅读:
    家庭记账本1
    寒假福利5
    寒假福利4——定位功能
    寒假福利3——日期时间选择器
    寒假作业——家庭小账本1.6(总结)
    寒假作业——家庭小账本1.5
    寒假作业——家庭小账本1.4
    寒假作业——家庭小账本1.3
    寒假作业——家庭小账本1.2
    寒假作业——家庭小账本1.1
  • 原文地址:https://www.cnblogs.com/geek1116/p/5548778.html
Copyright © 2020-2023  润新知