从一个位置(p, q)到达位置(m, n) 只有两种向下或者向由走法
那么到(i, j)的走法为 (i-1,j) 的 + (i, j-1) 的 (这个和爬楼梯很想)
这里的a[i][j] 表示到 (i, j) 的方法数
for(int i = p; i <= n; i++)
{
for(int j = q; j <= m; j++)
{
a[i][j] = a[i-1][j] + a[i][j-1];
}
}
如果是有障碍物的话
for(int i = p; i <= n; i++)
{
for(int j = q; j <= m; j++)
{
if(b[i][j])
{
a[i][j] = 0; // 用b[i][j] 来表示地图上的每一个位置 如果有障碍物就是1 那么到这里的走法为0
}
else
{
a[i][j] = a[i-1][j] + a[i][j-1];
}
}
}