report
题目描述
断罪小学五年级的孩子们终于迎来了黎明前的黑暗——期末考试。考试科目为语文、数学、英语,每科满分100。你的任务是统计考生的排名,并按规定格式输出每个班级的成绩单(详见“输出格式”部分)。
按照总成绩进行排名,总成绩相同的考生排名并列,缺考和作弊的考生不参加排名。注意在排名时,若有\(x\)个人为并列第\(k\)名,那么紧随其后的名次应为\(k+x\),而非\(k+1\)。
格式
输入格式
第一行是一个正整数\(n\),表示考生总数;
之后n行,每行都按照以下格式给出一名学生的信息(用一个空格分开):
name class_id score1 score2 score3
name为该学生的名字,一个不超过10个字符的字符串,仅含小写字母。输入时保证人名两两不同;
class_id为该学生的班级编号(\(100 \le\) class_id \(\le 999\));
score1,score2,score3为三个整数(\(-2 \le \)score \( \le 100 \)),分别表示他的语文、数学、英语成绩。-1表示该门科目缺考;-2表示该门科目作弊。
输出格式
你的输出必须严格遵守以下要求:
按班号从小到大的顺序依次输出每个班级的信息。班级之间不应有空行。
对于每个班级,首先输出一行(\(k\)表示班号):
Class \(k\):
之后若干行,将该班级的所有学生按以下顺序输出:
首先是每门课既未缺考,也未作弊的学生。成绩较高的先输出,若成绩相同,姓名字典序小的先输出。输出格式为:(用且仅用一个空格分开)
name score1 score2 score3 total class_rank grade_rank
前四项的含义与“输入格式”部分相同。total为他的总分,class_rank为他的班级排名,grade_rank为他的年级排名。
然后是有些科目缺考,但没有作弊的学生。姓名字典序小的先输出。格式为:
name score1 score2 score3
缺考科目的成绩用一个短线’-’表示,未缺考的科目照常。
最后是有些科目作弊的学生。姓名字典序小的先输出。输出格式为(name用该学生的姓名替代):
name cheated in the exam!
样例
输入
14
gou 301 87 69 82
li 301 82 89 93
guo 303 70 71 93
jia 302 78 80 71
sheng 302 91 98 63
si 303 -1 98 94
yi 301 -1 74 69
qi 302 -2 79 68
yin 301 82 65 78
huo 303 79 98 95
fu 302 70 -2 89
bi 302 97 -1 -1
qu 301 -1 -1 -1
zhi 303 88 92 54
输出
Class 301:
li 82 89 93 264 1 2
gou 87 69 82 238 2 4
yin 82 65 78 225 3 8
qu - - -
yi - 74 69
Class 302:
sheng 91 98 63 252 1 3
jia 78 80 71 229 2 7
bi 97 - -
fu cheated in the exam!
qi cheated in the exam!
Class 303:
huo 79 98 95 272 1 1
guo 70 71 93 234 2 5
zhi 88 92 54 234 2 5
si - 98 94
数据规模及限制
时间限制1s,空间限制64MB
共6组测试数据。每组数据均保证:格式、数值均合法,且每班至少有1人既未作弊也未缺考。\(n \le 1000\)。
测试点#1(20分):只有1个班级,无人缺考,无人作弊
测试点#2(20分):无人缺考,无人作弊
测试点#3 ~ #4(15分/个):有人缺考,无人作弊
测试点#5 ~ #6(15分/个):有人缺考,有人作弊
来源
2017.7 太原五中高一集训
Originally created by Orina_zju@163.com