博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT Ranking (排名)
阅读量:5045 次
发布时间:2019-06-12

本文共 2574 字,大约阅读时间需要 8 分钟。

PAT Ranking (排名)

 

 

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

 

 

先分组排名,再全部排名

 

1 #include 
2 3 #include
4 5 #include
6 7 #include
8 9 using namespace std; 10 11 12 13 struct stu 14 15 { 16 17 int loc,frank,lrank,gra; 18 19 string name; 20 21 }; 22 23 24 25 26 27 bool cmp(stu s1,stu s2) 28 29 { 30 31 if(s1.frank==s2.frank) 32 33 return s1.name
s2.gra; 50 51 } 52 53 54 55 int main() 56 57 { 58 59 60 61 int n;int k;int rank,count; 62 63 int i,j; 64 65 while(cin>>n) 66 67 { 68 69 vector
total; 70 71 for(i=1;i<=n;i++) 72 73 { 74 75 cin>>k; 76 77 vector
s(k); 78 79 for(j=0;j
>s[j].name>>s[j].gra; 84 85 s[j].loc=i; 86 87 } 88 89 sort(s.begin(),s.end(),cmpg); 90 91 count=1; 92 93 s[0].lrank=1; 94 95 total.push_back(s[0]); 96 97 for(j=0;j
View Code

 

转载于:https://www.cnblogs.com/xiaoyesoso/p/4240614.html

你可能感兴趣的文章
list-style-type -- 定义列表样式
查看>>
hibernate生成表时,有的表可以生成,有的却不可以 2014-03-21 21:28 244人阅读 ...
查看>>
mysql-1045(28000)错误
查看>>
Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
查看>>
1.jstl c 标签实现判断功能
查看>>
Linux 常用命令——cat, tac, nl, more, less, head, tail, od
查看>>
超详细的Guava RateLimiter限流原理解析
查看>>
VueJS ElementUI el-table 的 formatter 和 scope template 不能同时存在
查看>>
Halcon一日一练:图像拼接技术
查看>>
Swift - RotateView
查看>>
iOS设计模式 - 中介者
查看>>
centos jdk 下载
查看>>
HDU 1028 Ignatius and the Princess III(母函数)
查看>>
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
UIActionSheet 修改字体颜色
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
Spring注解之@Lazy注解,源码分析和总结
查看>>
多变量微积分笔记24——空间线积分
查看>>