zoukankan      html  css  js  c++  java
  • 做题记录--day54

    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    struct student{
        char regnum[100];
        int score;
        int listnum;
        int rank;
        int localrank;
    }stu[30010];
    bool cmp(student a,student b)
    {
        if(a.score!=b.score)
            return a.score>b.score;
        return strcmp(a.regnum,b.regnum)<0;
    }
    int main()
    {
        int n,k;
        scanf("%d",&n);
        int count=0;
        int n2=n;
        while(n--)
        {
            scanf("%d",&k);
            int temp=count;
            for(int i=1;i<=k;i++)
            {
                scanf("%s %d",stu[count].regnum,&stu[count].score);
                stu[count++].listnum=n2-n;
            }
            sort(stu+temp,count+stu,cmp);
            stu[temp].localrank=1;
            for(int i=temp+1;i<count;i++)
            {
                if(stu[i].score==stu[i-1].score)
                    stu[i].localrank=stu[i-1].localrank;
                else
                    stu[i].localrank=i-temp+1;
            }
        }
        sort(stu,stu+count,cmp);
        printf("%d
    ",count);
        stu[0].rank=1;
        for(int i=1;i<count;i++)
        {
            if(stu[i].score==stu[i-1].score)
                stu[i].rank=stu[i-1].rank;
            else
                stu[i].rank=i+1;
        }
        for(int i=0;i<count;i++)
            printf("%s %d %d %d
    ",stu[i].regnum,stu[i].rank,stu[i].listnum,stu[i].localrank);
        return 0;
    }
    View Code

    PAT A1025 sort模板题了

    sort(stu,stu+count,cmp)

    stu是数组起始位置,stu+count是最后一位加一个

    左闭右开

    cmp在里面是struct的时候是自定义的。cmp为true的条件就是排序规则

    比如 return a.score>b.score sort在cmp为true不动,说明在a的分数高的时候是保持原状态的,那么说明这是一个降序数组,最高分在前面

    另外注意分数相同的情况下按照大小号排序。

    localrank是在输入的过程中拍出来的,不能都输入进去以后再排。直接sort(stu+temp,stu+count,cmp)

    时间才能证明一切,选好了就尽力去做吧!
  • 相关阅读:
    SQL Server 父子迭代查询语句,树状查询
    金山单词2003
    算算你的女友值多少钱?(精确新版)
    腾讯QQ2006 Fianl 海峰实用版(0114)┊
    私人保险箱 5.85 免费下载
    金山快译 2007 下载个人收藏专业版
    2007最新花之神匠代码 2月份更新 (3分钟搞定)
    金山词霸2007免费下载
    写给下一个她的男友
    SAP 价格条件表PRCD_ELEMENTS
  • 原文地址:https://www.cnblogs.com/tingxilin/p/11616383.html
Copyright © 2011-2022 走看看