题目链接:http://www.patest.cn/contests/ds/7-07

编程能力測试(Programming Ability Test,简称PAT)是浙江大学计算机科学与技术学院主办的专业技术认证考试(网址http://pat.zju.edu.cn/)。

每次考试会在若干个不同的考点同一时候举行。每一个考点用局域网。产生本考点的成绩。考试结束后。各个考点的成绩将即刻汇总成一张总的排名表。如今就请你写一个程序自己主动归并各个考点的成绩并生成总排名表。

输入格式说明:

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

输出格式说明:

首先在第1行里输出考生总数。随后输出汇总的排名表,每一个考生的信息占一行,顺序为:考号、终于排名、考点编号、在该考点的排名。

当中考点按输入给出的顺序从1到N编号。考生的输出须按终于排名的非递减顺序输出,获得同样分数的考生应有同样名次,并按考号的递增顺序输出。

例子输入与输出:

序号 输入 输出
1
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
2
4
10
4000000000011 100
4000000000008 90
4000000000005 100
4000000000001 90
4000000000003 95
4000000000009 80
4000000000006 90
4000000000007 100
4000000000002 90
4000000000004 90
6
3000000000003 75
3000000000013 85
3000000000007 86
3000000000009 92
3000000000010 98
3000000000020 60
2
2000000000002 98
2000000000003 98
1
1000000000001 100
19
1000000000001 1 4 1
4000000000005 1 1 1
4000000000007 1 1 1
4000000000011 1 1 1
2000000000002 5 3 1
2000000000003 5 3 1
3000000000010 5 2 1
4000000000003 8 1 4
3000000000009 9 2 2
4000000000001 10 1 5
4000000000002 10 1 5
4000000000004 10 1 5
4000000000006 10 1 5
4000000000008 10 1 5
3000000000007 15 2 3
3000000000013 16 2 4
4000000000009 17 1 10
3000000000003 18 2 5
3000000000020 19 2 6
3
1
1
9999999999999 0
1
9999999999999 1 1 1

PS:

就是一道结构体运用的果题!

代码例如以下:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
const int maxn = 41700;
struct ss
{
char num[17];
int s;
int rank;//在当前考点的排名
int mark;//在几号考点
int flag;//总排名
}stu[maxn];
bool cmp1(ss a, ss b)
{
if(a.s == b.s)
{
return strcmp(a.num, b.num) < 0;
}
return a.s > b.s;
}
int main()
{
int N;
int k[117];
int sum = 0;
scanf("%d",&N);
{
int i, j;
int l = 0, p = 0;
for(i = 1; i <= N; i++)
{
scanf("%d",&k[i]);
sum += k[i];
int tt = l;
for(j = 1; j <= k[i]; j++)
{
scanf("%s%d",stu[l].num,&stu[l].s);
stu[l].mark = i;
l++;
}
sort(stu+tt,stu+l,cmp1);
p = 2;
stu[tt].rank = 1;
for(int h = tt+1; h < l; h++)
{
if(stu[h-1].s == stu[h].s)
{
stu[h].rank = stu[h-1].rank;
}
else
{
stu[h].rank = p;
}
p++;
}
}
sort(stu,stu+l,cmp1);
int f = 1;
int flag = 0;
printf("%d\n",sum);
stu[0].flag = 1;
printf("%s %d %d %d\n",stu[0].num,stu[0].flag,stu[0].mark,stu[0].rank);
p = 2;
for(int h = 1; h < l; h++)
{
if(stu[h-1].s == stu[h].s)
{
stu[h].flag = stu[h-1].flag;
}
else
{
stu[h].flag = p;
}
p++;
}
for(i = 1; i < l; i++)
{
printf("%s %d ",stu[i].num,stu[i].flag);
printf("%d %d\n",stu[i].mark,stu[i].rank);
}
}
return 0;
}

7-07. PAT排名汇总(25) (结构体 ZJU_PAT)的更多相关文章

  1. PTA数据结构与算法题目集(中文) 7-41PAT排名汇总 (25 分)

    PTA数据结构与算法题目集(中文)  7-41PAT排名汇总 (25 分) 7-41 PAT排名汇总 (25 分)   计算机程序设计能力考试(Programming Ability Test,简称P ...

  2. PTA PAT排名汇总(25 分)

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

  3. 7-21(排序) PAT排名汇总

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

  4. PAT A1075 PAT Judge (25 分)——结构体初始化,排序

    The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...

  5. PAT A1141 PAT Ranking of Institutions (25 分)——排序,结构体初始化

    After each PAT, the PAT Center will announce the ranking of institutions based on their students' pe ...

  6. PAT 乙级 1085. PAT单位排行 (25) 【结构体排序】

    题目链接 https://www.patest.cn/contests/pat-b-practise/1085 思路 结构体排序 要注意几个点 它的加权总分 是 取其整数部分 也就是 要 向下取整 然 ...

  7. PAT 甲级 1032 Sharing (25 分)(结构体模拟链表,结构体的赋值是深拷贝)

    1032 Sharing (25 分)   To store English words, one method is to use linked lists and store a word let ...

  8. PAT 甲级 1012 The Best Rank (25 分)(结构体排序)

    题意: 为了评估我们第一年的CS专业学生的表现,我们只考虑他们的三个课程的成绩:C - C编程语言,M - 数学(微积分或线性代数)和E - 英语.同时,我们鼓励学生强调自己的最优秀队伍 - 也就是说 ...

  9. JustOj 2039: 成绩排名 (结构体排序)

    题目描述 每次期末考试成绩出来之前的一段时间大豪哥心里都是痛苦的,总感觉自己会在班上排名特别差.所以当成绩出来以后大豪哥想快点知道班上的总排名,以便知道自己的排名.(PS:大豪哥班上有个学霸名叫日天, ...

随机推荐

  1. adb如何连接mumu模拟器并修改Android ID

    adb工具下载安装 https://dl.google.com/android/repository/platform-tools-latest-windows.zip 参考:https://blog ...

  2. ajax异步刷新

    前台js <script type="text/javascript"> function getLands() { $.ajax({ url:"httpse ...

  3. Android源代码解析之(十三)--&gt;apk安装流程

    转载请标明出处:一片枫叶的专栏 上一篇文章中给大家分析了一下android系统启动之后调用PackageManagerService服务并解析系统特定文件夹.解析apk文件并安装的过程,这个安装过程实 ...

  4. 架构设计--用户端全http參数接口具体说明v1

    1. 用户端全http參数接口具体说明v1.doc 1 2. change histor 1 3. 接口通用參数说明 1 4. 函数注冊接口(规划中) 3 5. 用户权限模块 3 5.1. 用户注冊接 ...

  5. 对象逆序列化报错:java.lang.ClassNotFoundException

    简单的想从保存的对象中又一次解析出对象.用了逆序列化,但是报错: java.lang.ClassNotFoundException: xxxxxxxxxxxx at java.net.URLClass ...

  6. hdu5105Math Problem(分类讨论)

    题目链接: huangjing 题目: 思路: 给出的是一个方程,首先讨论最高项系数. 1:a==0&& b==0  那么函数就是线性的.直接比較端点就可以. 2   a==0& ...

  7. mfc 链接 access 2007 数据库

    神马也不说了,直接给出源代码和project 原理这个东西 Google  下.都出来了.自己就说下作为新手 , 1 应该打印出,链接错误原因 2 应该将数据库放到project以下,特别注意这点 给 ...

  8. caffe 训练測试自己的数据集

    简单记录一下自己使用caffe的过程和遇到的一些问题. 下载caffe以及安装不具体叙述了. 可參照 http://caffe.berkeleyvision.org/installation.html ...

  9. bzoj1211: [HNOI2004]树的计数(prufer序列+组合数学)

    1211: [HNOI2004]树的计数 题目:传送门 题解: 今天刚学prufer序列,先打几道简单题 首先我们知道prufer序列和一颗无根树是一一对应的,那么对于任意一个节点,假设这个节点的度数 ...

  10. 基于opencv的手写数字字符识别

    摘要 本程序主要参照论文,<基于OpenCV的脱机手写字符识别技术>实现了,对于手写阿拉伯数字的识别工作.识别工作分为三大步骤:预处理,特征提取,分类识别.预处理过程主要找到图像的ROI部 ...