QOJ.ac

QOJ

時間限制: 6 s 記憶體限制: 1024 MB 總分: 100

#3935. 骰子与梯子

统计

蛇梯棋是一个有趣的儿童游戏,规则如下:你从第 1 格开始,每一轮掷一次骰子,并根据骰子的点数移动。如果你停在的格子上有一个梯子的起点,你必须沿着梯子移动一次。也就是说,如果梯子的终点又是另一个梯子的起点,你不会继续沿着第二个梯子移动。当你移动到或超过最后一格时,游戏结束。

你的任务是求出使游戏结束的概率至少为 $p$ 所需的最少掷骰子次数。

Public Domain, via Wikimedia Commons

输入格式

第一行包含三个整数 $r$ ($3 \le r \le 8$)、$c$ ($3 \le c \le 8$) 和 $k$ ($0 \le k \le 50$),分别表示行数、列数和梯子数量。第二行包含一个浮点数 $p$ ($0 < p < 1$),如上所述(小数点后最多 6 位)。

接下来 $k$ 行,每行描述一个梯子。第 $i$ 行包含两个整数 $s_i$ ($2 \le s_i < r \cdot c$) 和 $e_i$ ($1 \le e_i \le r \cdot c$),分别表示第 $i$ 个梯子的起点和终点。任意两个梯子不会在同一个格子开始,但多个梯子可能在同一个格子结束。格子的编号方式如图所示,即第 1 格位于左下角,同一行中还有 $c-1$ 个格子。第 $c+1$ 格位于第二行的左侧,依此类推。

题目保证在少于 $10^8$ 次掷骰子的情况下,以至少 $p$ 的概率结束游戏是可能的。输入数据的构造方式使得:以至少 $p$ 的概率结束游戏所需的掷骰子次数,与以 $p \pm 10^{-9}$ 的概率结束游戏所需的掷骰子次数相同。

输出格式

输出一个整数,表示使游戏结束的概率至少为 $p$ 所需的最少掷骰子次数。

样例

输入 1

3 3 2
0.4
2 3
4 7

输出 1

2

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.