#P2654. Rock-Paper-Scissors Tournament
Rock-Paper-Scissors Tournament
题目描述
石头剪刀布是一款双人游戏,玩家A和玩家B各自独立选择石头、剪刀或布中的一种。选择布的玩家击败选择石头的玩家,选择剪刀的玩家击败选择布的玩家,选择石头的玩家击败选择剪刀的玩家。若双方选择相同,则不分胜负。
现组织了一场锦标赛,其中 名玩家中的每一位都与其他所有玩家进行 场石头剪刀布游戏——总共有 场比赛。你的任务是计算每位玩家的胜率,其定义为赢得的比赛数 除以(赢的比赛数 + 输的比赛数 ),即 。
输入
输入包含多个测试用例。每个测试用例的第一行包含两个整数 和 ,含义如上所述。接下来,对于每场比赛,有一行输入包含 、、、:其中 和 是两个不同的玩家编号, 和 是他们各自的选择("rock"、"scissors"或"paper")。最后一个测试用例后,输入一行包含 。
输出
对于每个测试用例,按玩家1到玩家 的顺序,每行输出该玩家的胜率,四舍五入保留三位小数。若胜率未定义(即 ),则输出“-”。测试用例之间输出一个空行。
输入数据示例1
2 4
1 rock 2 paper
1 scissors 2 paper
1 rock 2 rock
2 rock 1 scissors
2 1
1 rock 2 paper
0
输出数据示例1
0.333
0.667
0.000
1.000
提示
输入数据量较大,建议使用scanf读取输入。
来源
Waterloo local 2005.09.17