#211. 这是一道基础题
这是一道基础题
题目描述
给定一场CCPC比赛的题目数量和提交列表,请你输出终榜。
榜单的格式见输出和样例
根据比赛规则,榜单有以下要求:
-
每道题的通过罚时按照分钟计算。每次未通过提交增加20分钟罚时,保证每个队伍罚时均小于10000分钟。到比赛结束都没有通过的题目不计入该队伍的罚时。
-
每队通过后的题目在榜单的题目栏中用 + 显示。如果仅提交一次就通过了,则显示 +。 否则显示+k,k为这个队伍对于这道题,第一次通过前,所提交未通过的次数。保证 k 不大于 9。
-
每队提交但是未通过的题目在榜单的题目栏中用 -k 显示,k为这个队伍对于这道题的总提交次数。保证 k 不大于9。
-
每队没有提交的题目需要在榜单的该队的题目栏留空。
-
由于大家都讨厌
CE
,所以状态为Compile Error
的提交不计入榜单。 -
众所周知,对于某个队伍来说,在通过某个题目后再次提交该题目,则通过后的提交不计入榜单。
-
如果某个队伍没有提交,或者所有的提交均不计入榜单。则榜单上不显示该队伍。
输入格式
第一行一个数字 n,表示这场比赛有 n 道题目,题目的标号从 A开始。
接下来若干行,每行格式形如:时间 题号 结果 队名
,表示一条提交,提交按时间顺序排列。
其中,时间形如HH:MM
,并且时间一定小于05:00
。
题号为单独的一个大写字母。
结果属于集合 { Accepted
, Wrong Answer
, Time Limit Exceeded
, Compile Error
, Memory Limit Exceeded
, Output Limit Exceeded
, Runtime Error
, Presentation Error
}。
队名为一个含有空格、大写和小写字母的字符串,队名长度不超过 50。
输入以一行 GAME OVER!
结尾,表示比赛结束。
数据保证最多有5000条提交记录。
输出格式
输出的榜单有 n+4 栏,每栏之间间隔 2 个空格。
Rank 一栏的宽度为 4 个字符,表示该队伍的排名
Who 一栏的宽度为所有显示在榜单上的队伍名字的最长长度,表示该队伍的名字
Solved 一栏宽度为 6 个字符,显示每个队伍通过题目的数量
Penalty 一栏宽度为 7 个字符,按要求显示每队罚时
接下来是题目栏,每个题目栏的宽度均为 3 个字符,按要求显示+
或-
,表示每个队伍通过题目的情况
每一栏的第一行为这一栏的名称,其中,Who 需左对齐,其他栏需右对齐。
题目栏的名称为题目的标号
接下来若干行,按顺序输出每个队伍的信息,每栏的信息需右对齐。
队伍按照通过题目数量排名,如果两队通过题目数量相等,罚时少的队伍排名靠前。
注意,如果出现题数和罚时均相等的队伍,则按照队名的字典序排序,同时Rank
一栏的值需相等。第一个与他们排名不相等的队伍的排名应该是绝对排名而非相对
排名。例如前五个队伍的排名分别为1,2,3,3,3,则第六个队伍的绝对排名为5,相对排名为4,你的程序需要按照绝对排名输出,即1,2,3,3,3,5。
样例
样例输入
4
00:01 B Wrong Answer Crispy FeiNianYu
00:01 B Accepted Crispy FeiNianYu
00:01 C Accepted Crispy FeiNianYu
00:01 D Accepted Crispy FeiNianYu
00:11 A Accepted BaBaLa Chongya
00:13 C Wrong Answer Make Keqing Great Again
01:01 C Wrong Answer Make Keqing Great Again
01:11 C Wrong Answer Make Keqing Great Again
02:01 C Runtime Error BaBaLa Chongya
02:10 C Accepted BaBaLa Chongya
02:30 A Accepted Crispy FeiNianYu
02:50 D Accepted 114514 1919810
02:51 C Accepted 114514 1919810
02:52 B Accepted 114514 1919810
02:53 A Accepted 114514 1919810
02:55 A Runtime Error Meng Gu Shang Dan
02:59 B Compile Error YZXDSB
GAME OVER!
样例输出
Rank Who Solved Penalty A B C D
1 Crispy FeiNianYu 4 173 + +1 + +
2 114514 1919810 4 686 + + + +
3 BaBaLa Chongya 2 161 + +1
4 Make Keqing Great Again 0 0 -3
4 Meng Gu Shang Dan 0 0 -1