P16088 [ICPC 2024 NAC] Manhattan Walk
题目描述
这是一个网格系统!你从左上角出发,想要走到右下角。每个位置都有整数坐标,并带有一个指向下方或右方的箭头,以及一个计时器。计时器每隔若干秒就会将箭头从向下翻转为向右,或从向右翻转为向下。在你开始行走时,每个箭头以相等的概率指向下或右,且每个计时器的初始时间均匀随机地选自 $0$ 到其最大等待时间之间。
在任何时刻,如果你位于某个位置,你可以:
- 如果新位置在网格内且当前箭头指向下,则向下移动一格。
- 如果新位置在网格内且当前箭头指向右,则向右移动一格。
- 等待计时器结束倒计时,使箭头从向下翻转为向右,或从向右翻转为向下。
当你到达一个新位置时,你能够看到该位置的计时器,因此可以在决定下一步行动时将其考虑在内。然而,你不能提前预知未来的信息——你只能看到你当前所在网格点的计时器和箭头。你讨厌等待,希望最小化等待箭头翻转的总时间。
在最优决策下,你需要等待的期望时间是多少?
输入格式
输入只有一行,包含三个整数 $ r $、$ c $($ 1 \le r, c \le 10^3 $)和 $ p $($ 1 \le p \le 10^9 $),其中 $ r $ 是网格的行数,$ c $ 是网格的列数,$ p $ 是计时器可能显示的最大值。
输出格式
输出一个实数,表示在最优决策下你需要等待的期望时间。如果答案与标准答案的绝对误差或相对误差不超过 $ 10^{-6} $,则视为正确。
说明/提示
翻译由 DeepSeek V3.2 完成