计算机程序设计能力考试(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<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=100*300+5;
struct node
{char stand[50];int scoal;int testplace;int srank;int brank;
}s[maxn];
bool cmp(node a,node b)
{if(a.scoal!=b.scoal)return a.scoal>b.scoal;else  return strcmp(a.stand,b.stand)<0;/*猪是怎么生长的 就是这么长出来的 小于0啊大哥已经第N次了 */
}
int main()
{int sum=0; int t,x,begin=0;int digit[105]={0},last[105]={0}; scanf("%d",&t);for(int p=1;p<=t;p++) {scanf("%d",&x);memset(digit,0,sizeof(digit)); sum=sum+x; for(int i=1;i<=x;i++){++begin;scanf("%s %d",s[begin].stand,&s[begin].scoal);digit[s[begin].scoal]++; last[s[begin].scoal]++; s[begin].testplace=p;}sort(s+begin-x+1,s+begin+1,cmp);int kk=begin-x+1;int rank=0; for(int j=100;j>=0;j--){if(digit[j]!=0){++rank; for(int gg=1;gg<=digit[j];gg++,kk++){s[kk].srank=rank; } rank=rank+digit[j]-1; }   }}int rank=0;int kk=1; sort(s+1,s+sum+1,cmp);for(int j=100;j>=0;j--){if(last[j]!=0){++rank;for(int gg=1;gg<=last[j];gg++,kk++){s[kk].brank=rank; } rank=rank+last[j]-1; } } printf("%d\n",sum); for(int i=1;i<=sum;i++)printf("%s %d %d %d\n",s[i].stand,s[i].brank,s[i].testplace,s[i].srank); return 0;
}

PAT排名汇总(排序)相关推荐

  1. PTA 天梯赛 7-41 PAT排名汇总 (25 point(s))

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

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

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

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

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

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

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

  5. 在美国本科 计算机排名2015,(word)2015年美国大学专业排名汇总-以计算机专业排名为例.doc...

    (word)2015年美国大学专业排名汇总-以计算机专业排名为例 美国大学经常有一些国内没有的专业,而且由于国情不同,很多在国内的热门专业,在国外可能不是那么"吃香",另外不是名校 ...

  6. 深圳计算机学校排名2015年,2015年深圳各区小学排名汇总

    [导语]:以下是小编整理的2015年深圳小学排名(最新),里面综合各个区的情况,给出深圳各区前十的小学排名,希望对你有所帮助. 2015年深圳各区小学排名汇总 罗湖区小学排名 改革开放前,罗湖教育的师 ...

  7. 中央民族大学计算机排名2015,2015年985大学排名排名汇总

    2015年985大学排名排名汇总 六.第三档985(综合类) 1.吉林大学 吉林大学通过并校成为超级大块头,目前学科建设发展平稳,特色不明显.又地处北疆,生源一般.吉林大学的规模是全国第二大,仅次于四 ...

  8. “高调做事,高调做人”?----关于排名和排序

    "高调做事,高调做人"?----关于排名和排序 每个人都有自己的处世哲学."低调做人,你会一次比一次稳健:高调做事,你会一次比一次优秀."这只是一些人的想法,也 ...

  9. 计算机全国211院校排名2015,2015年全国211大学名单排名汇总

    2015年全国211大学名单排名汇总 1 北京大学北京综合 2 清华大学北京理工 3 复旦大学上海综合 4 浙江大学浙江综合 5 南京大学江苏综合 6 上海交通大学上海综合 7 武汉大学 湖北 综合 ...

  10. 2020年正规贵金属交易平台排名汇总

    有不少投资者在刚接触贵金属投资的时候都不是很清楚如何选择合适的平台,虽然有好的投资前景,如果平台选择不到位,还是很难做到比较好的效果,那么,如何选择合适的贵金属交易平台呢?首先要关注口碑.交易系统.资 ...

最新文章

  1. 枚举算法 C语言 试题,求代码:如图大体思路是,用枚举法,一个个的试,碰到非的情况从...
  2. Codeforces Round #297 (Div. 2)E. Anya and Cubes 折半搜索
  3. linux dmesg 格式化时间
  4. Selwyn College, Cambridge
  5. Android热修复升级探索——SO库修复方案 1
  6. mysql interval 3 day_Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用
  7. 参数化测试 junit_JUnit中的参数化测试运行器
  8. FreeCodeCamp Caesars密码项目的演练
  9. 使用MyBatis Plus 3.2.0版本插件代码生成器生成实体类后,对于数据库中字段类型datetime的字段会转变为LocalDateTime类型
  10. C++之父访谈录:我也没想到 C ++ 会这么成功!
  11. 微软出品 Remote Desktop for Mac(远程连接工具) 汉化版
  12. Linux C++开发小结
  13. 用c语言双向循环链表,C语言实现双向循环链表
  14. 【毕设论文——必修篇】论文撰写-宝藏工具网址
  15. Dlink dwl-122 ver c1在windows 2003下的驱动安装
  16. 项目经理需要什么职称 计算机,项目经理要什么职称
  17. CyanogenMOD移植教程]
  18. Android设置透明状态栏,仿ios状态栏
  19. CTF MISC系列————8、Misc1-纵横四海
  20. python数据分析实验报告_使用 Python 3 进行气象数据分析

热门文章

  1. 谷歌波浪推行受阻 “医疗云”生不逢时
  2. VS2005中ajax安装指南
  3. Cloudera Manager 5.9 和 CDH 5.9 离线安装指南及个人采坑填坑记
  4. 剖析Disruptor:为什么会这么快?(三)揭秘内存屏障
  5. 微信小程序CSS之Flex布局
  6. Linux 系统磁盘满处理方法
  7. USB Storage启动EBox4300
  8. 0302借软件工程触IT
  9. Nutch1.2二次开发详细攻略(二)【图文】------Windows平台下Nutch1.2的搭建
  10. 大家一起来谈论C#的前途