7-41 PAT排名汇总 (25 point(s))

计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。

每次考试会在若干个不同的考点同时举行,每个考点用局域网,产生本考点的成绩。考试结束后,各个考点的成绩将即刻汇总成一张总的排名表。

现在就请你写一个程序自动归并各个考点的成绩并生成总排名表。

输入格式:

输入的第一行给出一个正整数N(≤100),代表考点总数。随后给出N个考点的成绩,格式为:首先一行给出正整数K(≤300),代表该考点的考生总数;随后K行,每行给出1个考生的信息,包括考号(由13位整数字组成)和得分(为[0,100]区间内的整数),中间用空格分隔。

输出格式:

首先在第一行里输出考生总数。随后输出汇总的排名表,每个考生的信息占一行,顺序为:考号、最终排名、考点编号、在该考点的排名。其中考点按输入给出的顺序从1到N编号。考生的输出须按最终排名的非递减顺序输出,获得相同分数的考生应有相同名次,并按考号的递增顺序输出。

输入样例:

2
5
1234567890001 95
1234567890005 100
1234567890003 95
1234567890002 77
1234567890004 85
4
1234567890013 65
1234567890011 25
1234567890014 100
1234567890012 85

输出样例:

9
1234567890005 1 1 1
1234567890014 1 2 1
1234567890001 3 1 2
1234567890003 3 1 2
1234567890004 5 1 4
1234567890012 5 2 2
1234567890002 7 1 5
1234567890013 8 2 3
1234567890011 9 2 4

思路:

主要就是在排序上面,排序后给每个排名赋值上考场排名以及最终排名

#include<bits/stdc++.h>
using namespace std;
struct exam{string id;int score;int rankto;int rank;int space;
};
exam ex[100010];
bool cmp(exam a, exam b){if(a.score != b.score) return a.score > b.score;else return a.id < b.id;
}
int main(){int n, m, x = 0;cin >> n;for(int i = 1; i <= n; i++){cin >> m;for(int j = x; j < x + m; j++){cin >> ex[j].id >> ex[j].score;ex[j].space = i;} sort(ex + x, ex + x + m, cmp);ex[x].rank = 1;for(int j = x + 1; j < x + m; j++){if(ex[j].score == ex[j - 1].score) ex[j].rank = ex[j - 1].rank;else ex[j].rank = j + 1 - x;}x += m;}cout << x << endl;sort(ex, ex + x, cmp);ex[0].rankto = 1;for(int i = 1; i < x; i++){if(ex[i].score == ex[i - 1].score) ex[i].rankto = ex[i - 1].rankto;else ex[i].rankto = i + 1;}for(int i = 0; i < x; i++){cout << ex[i].id << " " << ex[i].rankto << " " << ex[i].space << " " << ex[i].rank << endl;}return 0;
}

PTA 天梯赛 7-41 PAT排名汇总 (25 point(s))相关推荐

  1. 7-227 PAT排名汇总 (25 分)

    7-227 PAT排名汇总 (25 分) 计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设 ...

  2. 7-41 PAT排名汇总 (25 分)(详解+思路+重写sort函数)兄弟们冲呀呀呀呀呀呀呀

    一:题目 计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序 ...

  3. 7-41 PAT排名汇总 (25 分)多样排序

    原题:https://pintia.cn/problem-sets/15/problems/888 思路: 创建一个结构体,里面包含每个考生的各种信息:姓名,成绩,分区排名,最终排名,地区 struc ...

  4. 【PTA天梯赛练习题目2】

    pta天梯赛练习题目 考试座位号 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的 ...

  5. pta天梯赛 非常弹得球

    pta天梯赛 7-2 非常弹的球 刚上高一的森森为了学好物理,买了一个"非常弹"的球.虽然说是非常弹的球,其实也就是一般的弹力球而已.森森玩了一会儿弹力球后突然想到,假如他在地上用 ...

  6. 题223.2022寒假天梯赛训练-7-12 清点代码库 (25 分)

    文章目录 题223.2022寒假天梯赛训练-7-12 清点代码库 (25 分) 一.题目 二.题解 题223.2022寒假天梯赛训练-7-12 清点代码库 (25 分) 一.题目 二.题解 我这个做法 ...

  7. PTA 程序设计天梯赛(41~60题)

    文章目录 41.整除光棍 (20 分) 42. 装睡 (10 分) 43.矩阵A乘以B (15 分) 44. 倒数第N个字符串 (15 分) 45.打折 (5 分) 46. 2018我们要赢 (5 分 ...

  8. 『ACM C++』 PTA 天梯赛练习集L1 | 048-49

    今日刷题048-049 ------------------------------------------------L1-048---------------------------------- ...

  9. PTA天梯赛L1刷题总结(三)15分题型(超详细题解)

    多么感人!时隔一年多,我终于来更新15分题型的博文了.突然发现L1的题目量扩充了!一共有哦20道题.哎~都写一遍题解好了.在这里推荐下胡凡的算法笔记!在基础算法和数据结构上给了我很多细致的讲解启发.过 ...

最新文章

  1. TinyML 机器学习简介
  2. C++ STL下载和安装
  3. mysql 外键有啥用途_Mysql外键是什么?有哪些用处?(图文+视频)
  4. [Android学习笔记]LinearLayout布局,剩余空间的使用
  5. wdpc V3 phpmyadmin打不开的一种解决方式(实测有效)
  6. java.lang.ExceptionInInitializerError
  7. python银行排队系统_python-我需要基于Web的系统的消息/排队解决...
  8. gentoo 安装php7,在Gentoo安装Wifidog Portal
  9. java uploadify 3.2_jquery文件批量上传控件Uploadify3.2(java springMVC)
  10. 《黑马QT视频教程》2020.7.31学习日记
  11. 记录使用浏览器扫码功能(pad 笔记本 手机)
  12. Matlab fspecial函数
  13. 业务逻辑安全思路总结
  14. linux vga 驱动,Linux VGA驱动移植实验【转】
  15. java过滤器不管用_java中过滤器不起作用的原因
  16. 8大常见的服务器管理小工具
  17. 什么是hardcode编码
  18. matlab迭代求解泊松方程,MATLAB编程求解二维泊松方程
  19. 华为防火墙应用层过滤--URL
  20. 应Oracle BEA定下每股21美元收购价

热门文章

  1. 权限管理系统5—跨域解决方案
  2. 客快物流大数据项目(一百零七):物流信息查询服务接口开发解决方案
  3. 光模块,光纤如何区分单模多模
  4. Linux dhcp 中继
  5. stm32f103c8t6移植Fatfs文件系统出现的一些问题
  6. 时间管理的定义与目的
  7. 7z压缩软件,7z.001 7z.002分卷之后的压缩包怎么解压
  8. 产品经理需要具备能力
  9. 新媒体运营面试必问5大问题(内附试题)
  10. IDEA打jar包,如何跳过Test测试