给定一张 N*M 的棋盘,有一个机器人处于(x,y)位置。
这个机器人可以进行很多轮行动,每次等概率地随机选择停在原地、向左移动一格、向右移动一格或向下移动一格。
当然机器人不能移出棋盘。
求机器人从起点走到最后一行的任意一个位置上,所需行动次数的数学期望值。
输入格式
第一行包含两个整数 N 和 M。
第二行包含两个整数 x 和 y,表示机器人的初始位置。
设定棋盘左上角为(1,1),右下角为(N,M)。
输出格式
输出一个实数,表示数学期望,结果保留四位小数。
数据范围
1≤N,M≤1000
输入样例:
10 14
5 14
输出样例:
18.0038
解题过程:
用f[i][j]表示位于(i,j)坐标时,所需行动次数的数学期望值
具体过程如下图所示:
注:
j在[2,m-1]时
f[i][j]=1/4((f[i][j]+1)+(f[i][j-1]+1)+(f[i][j+1]+1)+(f[i+1][j]+1))
将括号中的四个1加起来乘1/4就等价于