• 1472 院赛排名

    时间限制 : 2000/1000 MS(Java/Others) | 内存限制 : 65534/32767 KB(Java/Others)

    提交数 : 337 | 通过数 : 33

    题目描述

    2013宁波大学信息学院程序设计竞赛正在火热进行中[地球人都知道],让大家激动不已的Ranklist是怎么生成的呢?

    我们采用的高端大气上档次的国际通用管理,规则如下:

    1.系统会为每一支参赛队伍记录通过题数解题用时,比赛开始时,这两个值都是0。

    2.每一次提交,该提交的提交时间是当前系统时间和比赛开始时间之差,精确到分钟。

    3.判题结果有以下几种:

    Accepted、Wrong Answer、Compile Error、Time Limit Exceed、Presentation Error、Memory Limit Exceed、Runtime Error。

    其中只有Accepted表示顺利解出题目。

    一个队伍第一次得到Accepted时,系统会记录该提交队伍的通过题数加一,解题用时加上该提交的提交时间

    同时如果该题在该Accepted的提交之前还有其他非Accepted结果的提交,要计算罚时,每一次罚时20分钟,加到队伍的解题用时上。

    4.队伍的排名计算方式是:

    (1)通过题数多的排前面,排名从1开始计算;

    (2)通过题数一样的,解题用时少的排在前面;

    (3)通过题数解题用时都一样的排名相同;

    (4)如果两个或多个队伍排名一样,这些队伍要占用一个名次。就是说有两个第一名的话,下一个是第三名,而不是第二名。

    是不是很简单呢?试试就知道了。


    输入要求

    多组测试,组数T满足,0 < T <= 10。

    每组首先是一个数N,表示我们有N(N < = 1000)个提交记录。

    接下来N行,每行一个提交记录,提交记录按提交时间从小到大给出。

    一个提交记录的格式如下:

    team_name problem_id judge_status time_h:time_m

    team_name是队伍名称,是长度不大于10的字符串,由小写字母和数字组成。总的队伍数不大于100,至少为1。

    problem_id是题目编号,整数值,1000 <= problem_id <= 1015。

    judge_status是前面提到的几种判题结果中的一种,包含的地方只有一个空格。

    time_h和time_m是提交时间的小时部分和分钟部分,大小在合理的范围内。


    输出要求

    每组测试,输出最终的院赛排名。
    如样例所示,
    每行输出一个队伍的信息,格式为:
    #排名 队伍名 通过题数 解题用时
    数据之间只有一个空格。
    解题用时为0时输出“-”(不含引号);其他按“小时:分钟”的格式(不含引号),其中分钟两位输出
    队伍按排名顺序从小到大输出,排名相同的队伍名字典序小的在前面。

    输入样例

    1
    5
    team1 1001	Wrong Answer	4:12
    team1 1001	Accepted	4:32
    team2 1002	Accepted	4:33
    team3 1003	Wrong Answer	4:34
    team3 1003	Wrong Answer	4:35
    

    输出样例

    #1 team2 1 4:33
    #2 team1 1 4:52
    #3 team3 0 -

    提示

    输入数据,不同数据之间的空格数大于等于一。

    题目描述和我们正在进行的比赛可能略有不一样哦,你发现了吗?


    来源

    NBU OJ

    [ 返回顶端 ] | [ 代码提交 ] | [ 统计数据 ] | [ 历史提交 ]