题目描述:
    今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。
输入:

测试输入包含若干场考试的信息。每场考试信息的第1行给出考生人数N ( 0 < N < 1000 )、考题数M ( 0 < M < = 10 )、分数线(正整数)G;第2行排序给出第1题至第M题的正整数分值;以下N行,每行给出一名考生的准考证号(长度不超过20的字符串)、该生解决的题目总数m、以及这m道题的题号(题目号由1到M)。
    当读入的考生人数为0时,输入结束,该场考试不予处理。

输出:

对每场考试,首先在第1行输出不低于分数线的考生人数n,随后n行按分数从高到低输出上线考生的考号与分数,其间用1空格分隔。若有多名考生分数相同,则按他们考号的升序输出。

样例输入:
4 5 25
10 10 12 13 15
CS004 3 5 1 3
CS003 5 2 4 1 3 5
CS002 2 1 2
CS001 3 2 3 5
1 2 40
10 30
CS001 1 2
2 3 20
10 10 10
CS000000000000000001 0
CS000000000000000002 2 1 2
0
样例输出:
3
CS003 60
CS001 37
CS004 37
0
1
CS000000000000000002 20
 #include <cstdio>
#include <cstdlib>
#include <string>
#include <cstring>
#include <algorithm>
#include <queue>
#define MAX 1002
#define inf 100002 using namespace std; struct Stu{
int score;
char id[];
}; Stu student[];
int ques[]; int cmp(const void *a, const void *b) {
Stu at = *(Stu*)a;
Stu bt = *(Stu*)b;
if(at.score == bt.score) {
return strcmp(at.id, bt.id);
}
else {
return bt.score - at.score;
}
} int main(int argc, char const *argv[])
{
int n, m, g;
freopen("input.txt","r",stdin);
while(scanf("%d %d %d",&n,&m,&g) != EOF && n != ) {
for(int i = ; i <= m; i++) {
scanf("%d",&ques[i]);
}
int tu = ;
for(int i = ; i < n; i++) {
scanf("%s", student[i].id);
student[i].score = ;
int t;
scanf("%d",&t);
for(int j = ; j < t; j++) {
int num;
scanf("%d",&num);
student[i].score = student[i].score + ques[num];
}
if(student[i].score >= g) {
tu++;
}
}
printf("%d\n", tu);
if(tu == ) {
continue;
}
qsort(student,n,sizeof(Stu),cmp);
for(int i = ; i < tu; i++) {
printf("%s %d\n",student[i].id, student[i].score);
} }
return ;
}

九度oj 题目1014:排名的更多相关文章

  1. 九度oj题目1014:排名

    题目1014:排名 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8130 解决:2417 题目描述:     今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排 ...

  2. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  3. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  4. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  5. 九度oj题目&amp;吉大考研11年机试题全解

    九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码).    http://ac.jobdu.com/problem.php?pid=11 ...

  6. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  7. 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...

  8. 九度oj题目1009:二叉搜索树

    题目描述: 判断两序列是否为同一二叉搜索树序列 输入:                        开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接 ...

  9. 九度oj题目1002:Grading

    //不是说C语言就是C++的子集么,为毛printf在九度OJ上不能通过编译,abs还不支持参数为整型的abs()重载 //C++比较正确的做法是#include<cmath.h>,cou ...

随机推荐

  1. (转)Linux下清理Cache方法

    频繁的文件访问会导致系统的Cache使用量大增, 系统运行缓慢. 1 首先用free 命令查看内存的使用:$ free -m             total       used       fr ...

  2. Airbnb:别抵制我,宝宝要过 10 岁生日

    今日导读 喜欢旅游的你,一定听说或使用过 airbnb(爱彼迎),在出发前打开它,总是能通过它开始一段奇妙的旅行.可是最近,就在这个打着“共享家”概念的服务型网站正迎来十周年之际,它却遭到了很多国家的 ...

  3. POI把html写入word doc文件

    直接把Html文本写入到Word文件 获取查看页面的body内容和引用的css文件路径传入到后台. 把对应css文件的内容读取出来. 利用body内容和css文件的内容组成一个标准格式的Html文本. ...

  4. http post get 同步异步

    下面首先介绍一下一些基本的概念---同步请求,异步请求,GET请求,POST请求. 1.同步请求从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作.也 ...

  5. C#获得DataTable的key值

    //获得dataTable的key值 List<string> keyList = new List<string>(); ; i < dt.Columns.Count; ...

  6. windows使用文件服务器搭建Git服务器

    背景: 1.windows下搭建git服务器. 2.git服务器搭建在局域网文件共享区中. 3.没有复杂的权限控制,文件共享区都有访问权限. 步骤: 1.文件共享区中创建git远程仓库. 2.本地克隆 ...

  7. sql server存储过程修改,存储到mysql笔记

    由于有些项目要迁移到mysql上,数据迁移用MySQLWorkbench就能很好的迁移,最难的是存储过程之类的. 下面是sql server存储过程和mysql存储过程的转化: SQL SERVER: ...

  8. simulation clock gen unit (推荐)

    //Normal Clock Block always begin:clk_blk clk <=; # clk<=; #; end //Improved Clock Block, impr ...

  9. laravel中的视图合成器

    ==================================================================================================== ...

  10. day21-python模块

    1.时间 import time #时间戳 #计算 # print(time.time()) #1481321748.481654秒 #结构化时间---当地时间 # print(time.localt ...