• 1025. PAT Ranking (25)


    距离PAT考试还有15天最重要的就是做透每一题

     (1)思路就是保存到一个结构体中然后排序

    但是敲得速度还是有点慢

    #include <cstdio>
    #include <vector>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    
    struct record {
      char id[20];
      int fin_rk;
      int lo_nu;
      int lo_rk;
      int sc;
      record(){
        memset(id,'',sizeof(id));
        sc=fin_rk=lo_nu=lo_rk=0;
      }
    };
    
    bool cmp(record r1,record r2) {
      if(r1.sc == r2.sc) {
        if(strcmp(r1.id,r2.id) < 0) {
          return true;
        } 
      } else if(r1.sc > r2.sc) return true;
      return false;
    }
    
    int main() {
      int n;
      scanf("%d",&n);
      vector<vector<record>> vr;
      for(int i=0;i<n;i++) {
        int k;
        scanf("%d",&k);
        vector<record> v;
        for(int j=0;j<k;j++) {
          record re;
          scanf("%s %d",&(re.id[0]),&(re.sc));
          re.lo_nu=i+1;
          v.push_back(re);
        }
        vr.push_back(v);
      }
    
      vector<record> res;
      for(int i=0;i<vr.size();i++) {
        sort(vr[i].begin(),vr[i].end(),cmp);
        for(int j=0;j<vr[i].size();j++) {
          if(j == 0) vr[i][j].lo_rk=1;
          if(j != 0) {
        if(vr[i][j].sc==vr[i][j-1].sc) {
          vr[i][j].lo_rk=vr[i][j-1].lo_rk;
        } else {
          vr[i][j].lo_rk=j+1;
        }
          }
        }
        for(int j=0;j<vr[i].size();j++) {
          res.push_back(vr[i][j]);
        }
      }
    
      sort(res.begin(),res.end(),cmp);
      for(int j=0;j<res.size();j++) {
        if(j == 0) res[j].fin_rk=1;
        if(j != 0) {
          if(res[j].sc == res[j-1].sc) {
        res[j].fin_rk=res[j-1].fin_rk;
          } else {
        res[j].fin_rk=j+1;
          }
        }
      }
      printf("%d
    ",res.size());
      for(int j=0;j<res.size();j++) {
        printf("%s %d %d %d
    ",res[j].id,res[j].fin_rk,res[j].lo_nu,res[j].lo_rk);
      }
    }

  • 相关阅读:
    docker运行爬虫代码
    python语法之流程控制(if while for)
    python基本数据类型
    python基本运算符
    python用户交互与格式化输出
    jieba模块基本介绍
    wordcloud库基本介绍
    计算机基础之编程语言
    计算机基础
    python入门之流程控制
  • 原文地址:https://www.cnblogs.com/tclan126/p/8502994.html
Copyright © 2020-2023  润新知