设小岛为 n x n 的正方形;
因为醉酒,每步↑↓←→的概率都 = 0.25;
输入:
小岛边长 n;
醉酒人目前位置 (x,y);
醉酒人走路步数 k;
输出:
溺水(走出小岛范围)的概率 x;
伪代码思路:
p(n,x,y,k);
if n = 1 return 1;
if n = 2 return 0.5;
if (in ocean) return 1; //掉海里 = x < 0 || x > n || y < 0 || y > n (位置脱离小岛范围)
else if k = 0, return 0; //到达指定步数
return (p(n,x+1,y,k-1)+p(n,x-1,y,k-1)+p(n,x,y+1,k-1)+p(n,x,y-1,k-1))/4;