当前位置:网站首页>1025 PAT Ranking
1025 PAT Ranking
2022-06-27 17:53:00 【Brosto_Cloud】
Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is supposed to run simultaneously in several places, and the ranklists will be merged immediately after the test. Now it is your job to write a program to correctly merge all the ranklists and generate the final rank.
Input Specification:
Each input file contains one test case. For each case, the first line contains a positive number N (≤100), the number of test locations. Then N ranklists follow, each starts with a line containing a positive integer K (≤300), the number of testees, and then K lines containing the registration number (a 13-digit number) and the total score of each testee. All the numbers in a line are separated by a space.
Output Specification:
For each test case, first print in one line the total number of testees. Then print the final ranklist in the following format:
registration_number final_rank location_number local_rank
The locations are numbered from 1 to N. The output must be sorted in nondecreasing order of the final ranks. The testees with the same score must have the same rank, and the output must be sorted in nondecreasing order of their registration numbers.
Sample Input:
2
5
1234567890001 95
1234567890005 100
1234567890003 95
1234567890002 77
1234567890004 85
4
1234567890013 65
1234567890011 25
1234567890014 100
1234567890012 85
Sample Output:
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 <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct Stu {
string id;
int score;
int frank;
int lrank;
int lonum;
} a[50000];
bool cmp(Stu s1, Stu s2) {
return s1.score == s2.score ? s1.id < s2.id : s1.score > s2.score;
}
int main() {
int n, k, total = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> k;
for (int j = total + 1; j <= k + total; j++) {
cin >> a[j].id >> a[j].score;
a[j].lonum = i;
}
sort(a + total + 1, a + total + k + 1, cmp);
int t = 2;
a[total + 1].lrank = 1;
for (int j = total + 2; j <= k + total; j++) {
if (a[j].score == a[j - 1].score) {
a[j].lrank = a[j - 1].lrank;
} else {
a[j].lrank = t;
}
t++;
}
total += k;
}
sort(a + 1, a + total + 1, cmp);
int t = 2;
a[1].frank = 1;
for (int i = 2; i <= total; i++) {
if (a[i].score == a[i - 1].score) {
a[i].frank = a[i - 1].frank;
} else {
a[i].frank = t;
}
t++;
}
cout << total << endl;
for (int i = 1; i <= total; i++) {
cout << a[i].id << ' ' << a[i].frank << ' ' << a[i].lonum << ' ' << a[i].lrank << endl;
}
return 0;
}
边栏推荐
- 深度学习和神经网络的介绍
- Making single test so simple -- initial experience of Spock framework
- shell脚本常用命令(四)
- Bit. Store: long bear market, stable stacking products may become the main theme
- 让单测变得如此简单 -- spock 框架初体验
- 教你打印自己的日志 -- 如何自定义 log4j2 各组件
- One to one relationship
- 今晚战码先锋润和赛道第2期直播丨如何参与OpenHarmony代码贡献
- Keras deep learning practice (12) -- facial feature point detection
- C# 二维码生成、识别,去除白边、任意颜色
猜你喜欢

实施MES管理系统前,要对哪些问题进行评估

Online text batch inversion by line tool

指针和结构体

带你认识图数据库性能和场景测试利器LDBC SNB

在线文本按行批量反转工具

今晚战码先锋润和赛道第2期直播丨如何参与OpenHarmony代码贡献

“我让这个世界更酷”2022华清远见研发产品发布会圆满成功

What is ssr/ssg/isr? How do I host them on AWS?

什么是 ICMP ?ping和ICMP之间有啥关系?

The IPO of Yuchen Airlines was terminated: Guozheng was proposed to raise 500million yuan as the major shareholder
随机推荐
网络传输是怎么工作的 -- 详解 OSI 模型
Bit.Store:熊市漫漫,稳定Staking产品或成主旋律
Garbage collector driving everything -- G1
Gartner聚焦中国低代码发展 UniPro如何践行“差异化”
基础数据类型和复杂数据类型
Solution to Maxwell error (MySQL 8.x connection)
What is ICMP? What is the relationship between Ping and ICMP?
图扑数字孪生智慧能源一体化管控平台
Implementation of reliable distributed locks redlock and redisson
Introduction to deep learning and neural networks
教你打印自己的日志 -- 如何自定义 log4j2 各组件
芯动联科冲刺科创板:年营收1.7亿 北方电子院与中城创投是股东
拥抱云原生:江苏移动订单中心实践
“我让这个世界更酷”2022华清远见研发产品发布会圆满成功
On thread safety
Comprehensively analyze the zero knowledge proof: resolve the expansion problem and redefine "privacy security"
数仓的字符截取三胞胎:substrb、substr、substring
一对一关系
云笔记到底哪家强 -- 教你搭建自己的网盘服务器
基于STM32F103ZET6库函数蜂鸣器实验