QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100

#11930. 三国杀

Statistics

在《三国杀》游戏中,有 4 名玩家,分别是主公、忠臣、反贼和内奸。他们初始的生命值分别为 $h_1, h_2, h_3$ 和 $h_4$。生命值大于 0 的玩家处于存活状态;生命值为 0 的玩家死亡。

游戏每一轮中,玩家按以下顺序行动:主公先手,接着是反贼、忠臣,最后是内奸。在一名玩家的回合中,如果该玩家存活,他必须攻击一名其他玩家,使该玩家的生命值减少 1。注意,死亡的玩家不能攻击其他玩家,且不允许攻击自己。

当发生以下任一事件时,游戏立即结束: 反贼和内奸均死亡:主公和忠臣获胜,无论忠臣是否存活。 主公死亡:如果内奸存活且所有其他玩家均已死亡,则内奸获胜;否则反贼获胜,无论反贼是否存活。

玩家在策略上遵循以下共识: 主公和忠臣从不互相攻击。 在攻击目标的选择上,以最大化自身获胜概率为目标。 * 如果存在多个目标使得获胜概率相同且均为最大值,则以相等的概率随机选择这些目标。

你的任务是计算每位玩家的获胜概率。

输入格式

第一行包含一个整数,表示测试用例的数量(最多 10000 个)。对于每个测试用例,包含一行 4 个整数 $h_1, h_2, h_3$ 和 $h_4$ ($0 < h_1 < 40, 0 \le h_2 < 40, 0 \le h_3 < 40, 0 \le h_4 < 40$)。

输出格式

对于每个测试用例,输出一行 3 个获胜概率,保留 6 位小数。第一个概率为主公和忠臣的获胜概率,第二个为反贼的获胜概率,最后一个为内奸的获胜概率。

样例

输入 1

4
1 1 1 1
1 0 1 1
1 1 1 2
2 1 2 6

输出 1

1.000000 0.000000 0.000000
0.000000 0.500000 0.500000
0.500000 0.500000 0.000000
0.250000 0.500000 0.250000

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.