X*Y的网格迷宫
1、质朴版
在NxM的方格中,以左上角格子为起点,右下角格子为终点,每次只能向下走或者向右走,请问一共有多少种不同的走法给定两个正整数int n,int m,请返回走法数目。
分析
1、解答:我们可以把棋盘的左下角看做二维坐标的原点(0,0),把棋盘的右上角看做二维坐标(n,n)(坐标系的单位长度为小方格的变长)
用f(i,j)表示移动到坐标f(i,j)的走法总数,其中0=<i<=m-1,0=<j<=n-1,我们即求f(n,n)这样我们就可以递归的定义子问题
f(n,m)= f(n-1,m)+ f(n,m-1).
于是状态f(i,j)的状态转移方程为:
f(i,j)= f(i-1,j)+ f(i,j-1) if i,j>0
f(i,j)= f(i,j-1) if i = 0
f(i,j)= f(i-1,j)