#hXDPlydlt50x5503. 坏掉的机器人 Broken Robot

坏掉的机器人 Broken Robot

题目描述

给定一张 N×MN \times M 的棋盘,有一个机器人处于 (x,y)(x,y) 位置。

这个机器人可以进行很多轮行动,每次等概率地随机选择停在原地、向左移动一格、向右移动一格或向下移动一格。

当然机器人不能移出棋盘。

求机器人从起点走到最后一行的任意一个位置上,所需行动次数的数学期望值。

输入格式

第一行包含两个整数 NNMM

第二行包含两个整数 xxyy,表示机器人的初始位置。

设定棋盘左上角为 (1,1)(1,1),右下角为 (N,M)(N,M)

输出格式

输出一个实数,表示数学期望,结果保留四位小数。

样例

输入样例:

10 14 
5 14

输出样例:

18.0038

样例解释

N=10,M=14N=10, M=14,起点 (5,14)(5,14)

机器人每次等概率(各 1/41/4)选择:不动、向左、向右、向下。

目标是到达最后一行(第 1010 行)的任意位置。

计算期望步数。

数据范围

  • 1N,M10001 \le N, M \le 1000

时空限制

  • 时间限制:1 秒
  • 空间限制:64 MB