#P1038. 球队排名

球队排名

问题描述

“不公平!这不公平!”你大声嚷嚷,为自己喜爱的牛笔阿(NBA)赛事中的球队水舰(不是火箭)队鸣不平。水舰队本赛季胜了多支强队,却因为频繁输给弱队,排名一直起伏不定,从未达到顶尖水准。但是在你心中,水舰队就是“牛笔阿”赛事中的头号球队,因为它曾经创造了连胜所有其它强队的纪录(连胜之后紧接着又创造了连败所有弱队的纪录)。你觉得“牛笔阿”赛事组委会仅仅按照最终的输赢胜负来给球队排名是不公平的,应该根据与之较量的对手强弱进行胜负加权,这样排名才合情合理。你把自己的天才构想上交给了“牛笔阿”赛事组委会,却一直了无音讯。你觉得相当委屈,于是打算把这份排名策略写在纸上埋在自家后院的土里,期望一千年以后能够觅到知音(画外音:据来自一千年以后的人透露,这封信后来被一位叫“林俊杰”的人读到了,深深为这种排名策略所折服,于是创作了一首歌“一千年以后”以表崇敬之心)。

你的排名策略具体说来是这样的:

每个球队都有自己的胜率,赛事组委会依据每个球队的胜率从大到小对球队进行排名,胜率相同的球队则根据球队名按字典序从小到大确定排名(画外音:这条准则最后导致了大量球队在自己的队名前加上字典序靠前的字母,由此引发了恶性竞争)。下面通过一个计算球队 AA 的胜率的例子来说明各个球队胜率的计算方法。

球队 AAMM 支球队交了手,这 MM 支球队各自都有自己的胜负纪录,它们的总胜场数为 WW,总败场数为 LL。从 WWLL 中减去与球队 AA 交手的胜负纪录,得到 WW'LL'。则球队 AA 的胜率 Weight=WW+L\text{Weight} = \frac{W'}{W' + L'}

下面给出各个球队的名字和它们本赛季的比赛纪录,你需要根据自己制定的排名策略算出球队的最终排名。

输入格式

第一行,若干个以空格隔开的字符串,第 ii 个字符串代表球队 ii 的名字,队名仅含大写英文字母。球队名字长度不超过 5050。最多有 5050 个球队。

第二行,若干个以空格隔开的字符串,第 ii 个字符串中的第 jj 个字符代表球队 ii 与球队 jj 的交手纪录。“W”表示球队 ii 获胜,“L”表示球队 ii 败北,“-”表示球队 ii 未曾与球队 jj 交过手。

输出格式

仅一行,为按照你的排名策略进行排名后的各个球队的名字,相邻球队名以空格隔开。

样例输入

BEARS GIANTS COWBOYS BRONCOS DOLPHINS LIONS
-WLWW- L-WL-W WL---W LW--L- L--W-- -LL---

样例输出

BEARS DOLPHINS BRONCOS COWBOYS GIANTS LIONS

提示

对第一个样例的解释: 本赛季结束后各个球队的胜负纪录为:

球队 胜 - 负
BEARS 3 - 1
GIANTS 2 - 2
COWBOYS 2 - 1
BRONCOS 1 - 2
DOLPHINS 1 - 1
LIONS 0 - 2

BEARS 队的交手队伍为 GIANTS,COWBOYS,BRONCOS 和 DOLPHINS。它们总的胜负场次为 66-66(胜 66 场败 66 场),去掉这些队与 BEARS 的交手纪录后胜负场次为 55-33,所以 BEARS 队的胜率为 55+3=0.625\frac{5}{5 + 3} = 0.625

样例 #1 中各个队伍的对手的总胜负纪录和该队伍的胜率:

球队 胜负纪录 胜率
BEARS 5 - 3 58=0.625\frac{5}{8} = 0.625
GIANTS 4 - 4 48=0.5\frac{4}{8} = 0.5
COWBOYS 4 - 3 470.5714\frac{4}{7} \approx 0.5714
BRONCOS
DOLPHINS 3 - 2 35=0.6\frac{3}{5} = 0.6
LIONS 2 - 3 25=0.4\frac{2}{5} = 0.4