#P2327. Dumb Bones
Dumb Bones
题目描述
你正在尝试将一系列多米诺骨牌竖直排列成一条直线,以便稍后推倒它们以获得乐趣。(虽然搭建好又推倒看起来毫无意义,但你有些奇怪的爱好)然而,摆放多米诺骨牌的关键在于:如果在放置时不小心碰倒某一张骨牌,它会连带推倒与其相邻的一侧连续排列的所有骨牌,从而部分破坏你的成果。
例如,若当前已摆放的骨牌模式为 DD__DxDDD_D
,当你尝试在位置 x
放置一张骨牌时,它可能会向左倒推倒左侧的 张骨牌,或向右倒推倒右侧的 张骨牌,迫使你重新摆放这些骨牌。
虽然人为错误难以完全避免,但你可以通过优化摆放策略,使得骨牌更倾向于向某一侧倒下,从而降低平均需要摆放的次数。
给定待摆放的骨牌数量 (),以及每张骨牌在放置时向左()或向右()倒下的概率(满足 ),请计算在最优策略下,完成摆放所需的平均骨牌放置次数(保留两位小数)。
输入格式
- 输入包含最多 个测试用例。
- 每个用例占一行,包含三个值:(骨牌数量)、(向左倒概率)、(向右倒概率)。
- 输入以一行单独的 结束。
输出格式
- 对于每个用例,输出完成摆放的平均次数,保留两位小数。
示例分析
输入数据 1
10 0.25 0.25
10 0.1 0.4
10 0.0 0.5
0
输出数据 1
46.25
37.28
20.00
解释
- 第一组数据:
- ,,
- 平均需要 次摆放。
- 第二组数据:
- ,,
- 由于向右倒概率更高,优化策略后平均次数降至 。
- 第三组数据:
- ,,
- 骨牌仅会向右倒,最优策略下平均次数为 。