九度oj 题目1014:排名
- 题目描述:
- 
今天的上机考试虽然有实时的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:排名的更多相关文章
- 九度oj题目1014:排名
		题目1014:排名 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8130 解决:2417 题目描述: 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排 ... 
- 九度oj 题目1007:奥运排序问题
		九度oj 题目1007:奥运排序问题 恢复 题目描述: 按要求,给国家进行排名. 输入: 有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ... 
- 九度OJ 题目1384:二维数组中的查找
		/********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ... 
- hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人
		钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ... 
- 九度oj题目&吉大考研11年机试题全解
		九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码). http://ac.jobdu.com/problem.php?pid=11 ... 
- 九度oj  题目1087:约数的个数
		题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ... 
- 九度OJ题目1105:字符串的反码
		tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ... 
- 九度oj题目1009:二叉搜索树
		题目描述: 判断两序列是否为同一二叉搜索树序列 输入: 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接 ... 
- 九度oj题目1002:Grading
		//不是说C语言就是C++的子集么,为毛printf在九度OJ上不能通过编译,abs还不支持参数为整型的abs()重载 //C++比较正确的做法是#include<cmath.h>,cou ... 
随机推荐
- hihocoder1032 最长回文子串
			思路: manacher模板. 实现: #include <iostream> #include <cstring> using namespace std; ]; strin ... 
- cat 参数
			-A 相当于-vET的整合参数 -E 将结尾的换行符$显示出来 -n 显示行号 -T 将tab键以^T显示出来 -v 列出一些看不出来的特殊字符 
- jmeter动态参数传值配置
			jmeter动态参数传值配置 
- perl在linux下通过date获取当前时间
			perl处理文件的时候最好添加上 处理的时间戳,获取系统的时间又多种方法,但是反引号是最原始的,不需要其他外界条件和lib的支持. my $now = `date "+%F %T" ... 
- Python相关机器学习
			Python机器学习库 Python的机器学习库汇总与梳理 机器学习之开源库大总结 
- (五)maven之外置maven
			eclipse外置maven eclipse内置的maven插件是固定版本,如果要用其他版本的maven,可以使用外置maven. ① 在菜单栏上点击“Windows”à“Preferences ... 
- Java IO流之字符缓冲流
			字符流: 1.加入字符缓存流,增强读取功能(readLine) 2.更高效的读取数据 BufferedReader 从字符输入流读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取. FileRe ... 
- 用dfs遍历联通块(优化)
			一.题目(CF 598D) 输入一个n x m的字符矩阵,求从某个空点出发,能碰到多少面墙壁,总共询问k次.(3 ≤m,n ≤1000,1 ≤ k ≤ min(nm,100 000)) 二.解题思路 ... 
- js 监听页面url锚点变化 window.onpopstate
			window.onpopstate = function (event) { if (location.href.indexOf('#') == -1) { location.reload(); } ... 
- 利用python进行数据分析2_数据采集与操作
			txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ... 
