#P2268. Euro Cup 2000

Euro Cup 2000

本题没有可用的提交语言。

描述

如你所知,2000 年欧洲足球锦标赛的预选赛是这样的一项赛事:在每个小组中,每支球队都要与其他球队进行两场比赛。德国队在第 3 小组,同组的还有土耳其队、芬兰队、摩尔多瓦队和北爱尔兰队。目前已经进行了 14 场比赛,还有 6 场比赛尚未进行。

快速看一眼当前的积分榜,你可能会认为北爱尔兰队已经无缘出线了。但这是错误的!设想一下,如果北爱尔兰队赢下他们剩下的三场比赛,德国队与土耳其队踢平并且输给芬兰队,摩尔多瓦队击败土耳其队。那么北爱尔兰队就会成为小组第一!

对于那些不熟悉计分模式的人来说:在每场比赛中,一支球队如果获胜可得 3 分,平局得 1 分,输球得 0 分。所有比赛结束后,各队将根据积分进行排名。如果积分相同,附加的决胜条件依次为:净胜球数(即进球数 - 失球数)、进球数,以及随机选择。

你的程序需要回答的问题是:

考虑到剩余比赛所有可能的结果,在锦标赛结束后,小组中每支球队可能的最高排名和最低排名分别是多少?

输入

输入将由一个或多个测试用例组成。每个测试用例遵循以下格式:

第一行将有一个整数nn1n201 \leq n \leq 20),表示小组中的球队数量。

  • 接下来的nn行,将依次是各支球队的名称。队名长度总是小于 30 个字符,并且不包含空白字符。
  • 再接下来的一行,会有一个整数gg,表示已经完成的比赛场数。
  • 最后,会有gg行,每行以 team1 team2 goals1 goals2 的形式描述一场已完成的比赛。
  • 你还可以进一步假设,剩余比赛最多为 10 场,并且每支球队至少还有一场比赛要进行。(这会使问题稍微简化一些。)

nn的值为 0 时,输入结束。

输出

对于每个测试用例,首先打印一行 "Group #x",其中xx是测试用例的编号(从 1 开始计数)。

然后,按照输入中球队出现的顺序,为每支球队打印一行。在每行中,打印球队的名称、一个空格字符、它可能的最佳排名、一个减号以及它可能的最差排名。

在每个测试用例之后,即使是最后一个测试用例,也要打印一个空行。

输入数据 1

2
A
B
1
A B 1 0
5
Ger
Tur
Fin
Nor
Mol
14
Fin Mol 3 2
Tur Nor 3 0
Tur Ger 1 0
Nor Fin 1 0
Mol Ger 1 3
Tur Fin 1 3
Nor Mol 2 2
Nor Ger 0 3
Tur Mol 2 0
Ger Fin 2 0
Mol Fin 0 0
Ger Mol 6 1
Fin Tur 2 4
Mol Nor 0 0
0

输出数据 1

Group #1
A 1-2
B 1-2

Group #2
Ger 1-3
Tur 1-3
Fin 1-4
Nor 1-5
Mol 4-5

来源

乌尔姆本地赛 1999