题目
思路
动态规划:考虑到每走一步,结果与上一步的结果有关
定义dp[step][i][j] 表示骑士从i j出发,走了step步后还在棋盘上的概率
那么base case:dp[0][i][j] = 1。 走了0步必定停留在棋盘上
状态转移方程呢?由于八个方向都相同概率会走,因此
dp[step][i][j] = 1/8 * SIGMA(dp[step-1][newi][newj])
SIGMA表示求和。转移方程指出:走step步后还在棋盘的概率等于走出一步后,在新位置走step-1步后仍在棋盘的概率
那么代码就简单明了了
- 技能点:动态规划
代码
1 | class Solution { |