2 PAT排名汇总
汇总 PAT 排名
2023-09-14 09:01:32 时间
2 PAT排名汇总
分数 25
作者 陈越
单位 浙江大学
计算机程序设计能力考试(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
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
C++ (g++)
思路:
用结构体来存储学生信息:id、成绩、考点、考点排名、排名。
compare的规则是:如果分数相同那么按照id升序排,否则按照分数从高到低排。
输入每个考场的学生信息,进行排序 ,求得考场排名。
对所有学生进行排序,最后按格式输出。
AC代码:
#include<bits/stdc++.h>
using namespace std;
struct student{
char id[13];
int score;
int kd;
int kdpm;
int pm;
}stu[30010];
bool cmp(student s1,student s2){
if(s1.score==s2.score)
return strcmp(s1.id,s2.id)<0;
return s1.score>s2.score;
}
int main(){
int n,k,sum=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>k;
for(int j=sum;j<sum+k;j++){
cin>>stu[j].id>>stu[j].score;
stu[j].kd=i+1;
}
sort(stu+sum,stu+sum+k,cmp);
int temp=0;
for(int j=0;j<k;j++){
if(j==0||stu[sum+j].score!=stu[sum+j-1].score)
temp=j+1;
stu[j+sum].kdpm=temp;
}
sum+=k;
}
sort(stu,stu+sum,cmp);
int temp=0;
for(int j=0;j<sum;j++){
if(j==0||stu[j].score!=stu[j-1].score)
temp=j+1;
stu[j].pm=temp;
}
cout<<sum<<endl;
for(int i=0;i<sum;i++){
cout<<stu[i].id<<" "<<stu[i].pm<<" "<<stu[i].kd
<<" "<<stu[i].kdpm<<endl;
}
}
相关文章
- Jquery插件 easyUI属性汇总
- django 错误分类及解决办法汇总
- 多层级汇总报表生成
- 日志汇总:logging、logger
- Java基础知识点汇总 二 类和对象
- Atitit 信息管理概论 艾提拉总结 信息的采集 信息格式转换 信息整合 信息的tag标注 信息的结构化 信息检索,,索引 压缩 信息分析 汇总 第1章 信息管理的基本概念 第
- QT 面试题汇总[通俗易懂]
- 中国及国外菜系汇总字段
- POI使用汇总
- OpenGL学习资料汇总
- 分析C++软件异常需要掌握的汇编知识汇总
- 美国诚实签经验贴汇总
- 【NLP-新闻文本分类】处理新闻文本分类所有开源解决方案汇总
- 自然语言处理(NLP)数据集汇总 4(附下载链接)
- Java基础面试题汇总
- 全国计算机技术与软件专业技术资格(水平)考试相关知识汇总