题目链接: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. (2016北京集训十四)【xsy1557】task

    题解: 限制可以看成图状结构,每个任务的对物品数量的影响可以看成权值,只不过这个权值用一个五元组来表示. 那么题意要求的就是最大权闭合子图,网络流经典应用. 代码: #include<algor ...

  2. [POJ2823][洛谷P1886]滑动窗口 Sliding Window

    题目大意:有一列数,和一个窗口,一次能框连续的s个数,初始时窗口在左端,不断往右移动,移到最右端为止,求每次被框住的s个数中的最小数和最大数. 解题思路:这道题是一道区间查询问题,可以用线段树做.每个 ...

  3. 单机Mongo复制集安装配置(数据库版本:4.x)

      官方文档: https://docs.mongodb.com/manual/tutorial/deploy-replica-set-with-keyfile-access-control/#dep ...

  4. linux 空间不够了 修改 /boot

    1>  查看空间多少:df -h2>  查看当期内核: uname -r3>  查找内核   rpm -qa | grep kernel4>  删除多余的内核 yum remo ...

  5. WPF Toolkit AutoCompleteBox 实体类绑定 关键字自定义关联搜索匹配

    原文:WPF Toolkit AutoCompleteBox 实体类绑定 关键字自定义关联搜索匹配 WPF Toolkit AutoCompleteBox 实体类绑定 关键字自定义关联搜索匹配 网上的 ...

  6. CentOS上手动配置nginx.services

    [Unit] Description=Dynamic web platform based on NGINX and LuaJIT After=network.target remote-fs.tar ...

  7. 【BZOJ 1452】 [JSOI2009]Count

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 维护一百个二维树状数组. 二维区间求和. [代码] #include <bits/stdc++.h> #define L ...

  8. 【codeforces 128C】Games with Rectangle

    [题目链接]:http://codeforces.com/problemset/problem/128/C [题意] 让你一层一层地在n*m的网格上画k个递进关系的长方形;(要求一个矩形是包含在另外一 ...

  9. Oracle rownum影响运行计划

    今天调优一条SQL语句,因为SQL比較复杂,用autotrace非常难一眼看出哪里出了问题,直接上10046. SELECT AB.* FROM (SELECT A.*, rownum RN FROM ...

  10. angularjs $location 服务

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...