具有大量子问题的动态编程
具有大量子问题的动态编程。因此,我正在尝试通过Interview Street解决此问题: 网格漫游(得分50分) 您位于维网格中,位置为。网格的尺寸为)。一步,您可以在维度中的任何一个维度上向前或向后走一步。(因此,总是有可能的不同动作)。您可以采用多少种方法采取步骤,以使您在任何时候都不会离开网格?如果有任何,则离开网格,或。(X 1,X 2,... ,X Ñ)(d 1,d 2,... ,d Ñ Ñ 2 Ñ 中号X 我X 我 ≤ 0 X 我 > d 我NNN(x1,x2,…,xN)(x1,x2,…,xN)(x_1,x_2,\dots,x_N)(D1,D2,…,DN(D1,D2,…,DN(D_1,D_2,\dots,D_NNNN2N2N2NMMMxixix_ixi≤0xi≤0x_i \leq 0xi>Dixi>Dix_i > D_i 我的第一个尝试是这个记住的递归解决方案: def number_of_ways(steps, starting_point): global n, dimensions, mem #print steps, starting_point if (steps, tuple(starting_point)) in mem: return mem[(steps, tuple(starting_point))] val = …