#jag2017summerday3d. [jag2017summer_day3_d]Janken Master
[jag2017summer_day3_d]Janken Master
问题描述
您要玩剪刀石头布游戏。包括您在内共有位玩家。
此游戏由多个回合组成。随着回合的进行,剩余玩家的数量会减少。在每个回合中,每个剩余玩家都会独立选择一个任意的手势。如果所有其他人都出剪刀,出石头的人取胜。同样地,布赢石头,剪刀赢布。由于这个游戏的特殊规则,不存在平局情况:如果根据正常的剪刀石头布游戏规则,一个回合打成平局,那么具有最高编程竞赛等级(与该回合无关)的玩家将是唯一的回合赢家。因此,在每个回合中,有些玩家赢,有些玩家输。输家退出游戏,赢家进入新回合。他们重复这个过程,直到只有一个玩家成为获胜者。
每个玩家从到编号,你的编号是。你知道其他个玩家倾向于出什么手势,也就是说,你知道每个玩家出石头、出布和出剪刀的概率。第个玩家以%的概率出石头,以%的概率出布,以%的概率出剪刀。玩家编号为的编程竞赛等级是。没有两个玩家的等级相同。你的任务是根据每个玩家的倾向和等级采取最佳策略计算你获胜的概率。
输入
输入包含一个单独的测试用例,格式如下:
第一行包含一个整数 。第二行包含一个整数 。第行包含四个整数、、和 $(1 \le a\_i \le N, 0 \le r\_i, p\_i, s\_i \le 100, r\_i + p\_i + s\_i = 100)$,对于。保证两两不相同。
输出
在一行中打印获胜概率。如果答案的绝对误差或相对误差不超过,则接受你的答案。
示例输入1
2
2
1 40 40 20
示例输出1
0.8
因为你的等级比另一个玩家高,所以如果你在第一回合赢了或打成平局,你将赢得比赛。
示例输入2
2
1
2 50 50 0
示例输出2
0.5
你必须在第一回合取胜。
示例输入3
3
2
1 50 0 50
3 0 0 100
示例输出3
1
在第一回合中,您最好的策略是出石头。你将以50%的概率赢得这一回合。剩下的50%,你和第二位玩家进入第二回合,你必须出石头才能赢得比赛。
示例输入4
3
2
3 40 40 20
1 30 10 60
示例输出4
0.27
示例输入5
4
4
1 34 33 33
2 33 34 33
3 33 33 34
示例输出5
0.6591870816