SZTG-NOIP-U1404. Broken robot

提交0 通过1
通过率0%
时间限制1000ms
内存限制256MiB

题目描述

题目描述

你收到了一份礼物:一个非常聪明的机器人,它会在一块矩形棋盘上行走。不幸的是,你发现它坏掉了,并且行为相当奇怪(随机)。棋盘由 N N 行和 M M 列单元格组成。机器人最初位于第 i i 行、第 j j 列的某个单元格中。之后,机器人每一步都可能前往某个其他单元格。目标是到达最底部的第 N N 行。机器人可以停留在当前单元格,向左移动,向右移动,或者移动到当前单元格下方的单元格。如果机器人位于最左列,则不能向左移动;如果位于最右列,则不能向右移动。每一步中,所有可能的移动方式都是等概率的。请输出到达最底部一行所需步数的期望值。

输入格式

第一行给出两个用空格分隔的整数 N N 和 M M (1≤N,M≤1000 1 \le N,M \le 1000 )。第二行给出另外两个用空格分隔的整数 i i 和 j j (1≤i≤N,1≤j≤M 1 \le i \le N,1 \le j \le M )——初始行号和初始列号。注意,(1,1) (1,1) 是棋盘的左上角,(N,M) (N,M) 是棋盘的右下角。

输出格式

输出到达最底部一行所需步数的期望值。如果你的答案与标准答案的绝对误差或相对误差不超过 10−4 10^{-4} ,则认为答案正确。

10 10
10 4
0.0000000000
10 14
5 14
18.0038068653