#P2268. Euro Cup 2000
Euro Cup 2000
本题没有可用的提交语言。
描述
如你所知,2000 年欧洲足球锦标赛的预选赛是这样的一项赛事:在每个小组中,每支球队都要与其他球队进行两场比赛。德国队在第 3 小组,同组的还有土耳其队、芬兰队、摩尔多瓦队和北爱尔兰队。目前已经进行了 14 场比赛,还有 6 场比赛尚未进行。
快速看一眼当前的积分榜,你可能会认为北爱尔兰队已经无缘出线了。但这是错误的!设想一下,如果北爱尔兰队赢下他们剩下的三场比赛,德国队与土耳其队踢平并且输给芬兰队,摩尔多瓦队击败土耳其队。那么北爱尔兰队就会成为小组第一!
对于那些不熟悉计分模式的人来说:在每场比赛中,一支球队如果获胜可得 3 分,平局得 1 分,输球得 0 分。所有比赛结束后,各队将根据积分进行排名。如果积分相同,附加的决胜条件依次为:净胜球数(即进球数 - 失球数)、进球数,以及随机选择。
你的程序需要回答的问题是:
考虑到剩余比赛所有可能的结果,在锦标赛结束后,小组中每支球队可能的最高排名和最低排名分别是多少?
输入
输入将由一个或多个测试用例组成。每个测试用例遵循以下格式:
第一行将有一个整数(),表示小组中的球队数量。
- 接下来的行,将依次是各支球队的名称。队名长度总是小于 30 个字符,并且不包含空白字符。
- 再接下来的一行,会有一个整数,表示已经完成的比赛场数。
- 最后,会有行,每行以 team1 team2 goals1 goals2 的形式描述一场已完成的比赛。
- 你还可以进一步假设,剩余比赛最多为 10 场,并且每支球队至少还有一场比赛要进行。(这会使问题稍微简化一些。)
当的值为 0 时,输入结束。
输出
对于每个测试用例,首先打印一行 "Group #x",其中是测试用例的编号(从 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