题目链接: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. luogu P2117 小Z的矩阵(结论题)

    题意 题解 这题有点水. 我们发现对答案有贡献的实际上只有左上到右下的对角线上的数. 因为不在这条对角线上的乘积都要计算两遍,然后%2就都没了... 然后就做完了. #include<iostr ...

  2. 架构思想之CAP原理

    由于自己负责后端的设计已经有一段时间,对设计的一些思想和理论有一些理解,但最近被问到什么是CAP时,却一脸懵逼,下来后专门针对CAP架构思想进行了一些专题学习,在这里也将这个概念引入给大家,大家可以有 ...

  3. 洛谷 P1088 火星人 (全排列)

    直接调用next_permutation即可,向前的话可以调用prev_permutation #include<cstdio> #include<cctype> #inclu ...

  4. Unity Microphone 无限时长录制

    原创文章:转载请标明出处--博客园 Jason_c Unity可以很方便的通过 Microphone.Start()方法来调用麦克风,但是有一个弊端是,必须传入时长,这就很尴尬了,因为大多数时间,我们 ...

  5. 洛谷 P2758 编辑距离

    P2758 编辑距离 题目描述 设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作共有三种: 1.删除一个字符: 2.插入一个字符: 3.将一个字符改为另一 ...

  6. poj3252-Round Number 组合数学

    题目: Round Numbers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8492   Accepted: 2963 ...

  7. Unity 内置Shader变量、辅助函数等

    一:标准库里的常用.cginc文件 HLSLSupport.cginc - (automatically included) Helper macros and definitions for cro ...

  8. Android Stuido 好卡怎么办?不要急,兄弟来教你

    近期使用Android studio 开发app,编译的时候特别卡,常常卡死.我的机器 i3 + 8G,按道理来说流畅的跑个androidstudio还是绰绰有余的... 于是在各大论坛寻找解决方式, ...

  9. C&C控制服务的设计和侦测方法综述——DDoS攻击,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。

    这篇文章总结了一些我在安全工作里见到过的千奇百怪的C&C控制服务器的设计方法以及对应的侦测方法,在每个C&C控制服务先介绍黑帽部分即针对不同目的的C&C服务器设计方法,再介绍白 ...

  10. Objects are mutable

    We can change the state of an object by making an assignment to one of its attributes. For example, ...