Problem 1016. -- Predict

1016: Predict

Time Limit: 1 Sec  Memory Limit: 29 MB
Submit: 2  Solved: 1
[Submit][Status][Web Board]

Description

随着小猪界象征着最高级别的小猪足球世界杯的开打,很多人都加入了猜球的行列,小香猪由于各种原因以球员的身份参赛,但是她也积极加入猜球行列。小猪足球世界杯是分成好几轮来打的,每一轮有特定场次比赛组成,每一场比赛以后,如果你不仅可以通过猜对这一场比赛的胜负而得分,而且如果猜对了比分,还可以得到额外的分数,每一轮结束以后,获得最高分的人会因此而得到特殊的分数,我们把它叫做一摩尔(等一下如果出现平局一摩尔就会派上用处啦)。如果此时有多人同时获得最高分,那么每人将得到一摩尔。
当小猪足球世界杯比赛结束以后,获得分数最高的将被封为球神的称号。
前些日子这一些事情听起来还很遥远,可是转眼明天将举行最后的决赛,但是博彩公司现在还没有开始算每个人的得分,那么请你赶快写一个程序来计算每个人的得分。
博彩公司会给你所有参加猜球者的姓名,他们对每一场球赛的预测,以及每一场球赛的结果和比分。你需要算出每一个参与者的得分和他的摩尔数,并按他们的得分排序输出。
在这个博彩公司,如果你猜对一场球的胜负平那么将得到一分,如果不仅如此,还猜中了比分,那么你将得到额外的两分。

Input

输入文件的第一行是一个正整数Case,表示一下有Case组测试数据。对于每一组测试数据的第一行,将有由空格隔开的两个正整数p(1 <= p <= 50), r(1 <= r <= 14)组成,p表示参加猜球的人数,r表示球赛一共进行r轮。接下来包含p行,其中第i行表示第i个参与者的名字,他们的名字由至多50个字符组成。接下来会有r个描述,分别给出每一轮的球赛信息。
对于每一轮,第一行由一个正整数g(1 <= g <= 16)组成,表示这一轮一共进行了g场比赛。接下来给出每一场比赛的信息。
对于每一场比赛,首先包含这场比赛的比分,接下来有p行,分别表示每一个猜球者对这场比赛比分作出的预测。所有比分都以X : Y的形式给出(分号前后以一个空格隔开),这里X,Y是非负整数。

Output

对于每一组输入数据,第一行输出 “Scenario #i:”,其中i表示当前是第i组数据,i从1开始计数。接下来的p行给出所有参与者的分数和摩尔数以及他们的名字,具体输出方式有以下要求:
1、 获得分数越多的排名越高;
2、 如果分数相同,他们的摩尔数越多排名越高;
3、 如果分数相同摩尔数也相同,那么按照输入顺序输出。
4、 对于每一行,分数、摩尔数、姓名必须以一个空格隔开。每一组输出数据以一个空行结束。

Sample Input

2
2 2
Gerhard Delling
Guenter Netzer
1
4 : 3
0 : 1
1 : 0
2
1 : 0
1 : 0
1 : 0
0 : 0
2 : 1
0 : 0
3 1
Johannes B. Kerner
Urs Meier
Juergen Klopp
1
2 : 1
2 : 1
2 : 1
2 : 1

Sample Output

Scenario #1:
7 2 Guenter Netzer
3 0 Gerhard Delling

Scenario #2:
3 1 Johannes B. Kerner
3 1 Urs Meier
3 1 Juergen Klopp

HINT

Source

[Submit][Status]