一个机器人位于一个 m × n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径? 输入:m = 3, n = 7
时间: 2024-03-10 11:43:54 浏览: 205
机器人跨越障碍物路径动态规划(python3.6)
根据上述动态规划递推式,可以使用一个二维数组来保存中间结果。代码如下:
```python
m = 3
n = 7
dp = [[0 for j in range(n)] for i in range(m)]
# 初始化边界条件
for i in range(m):
dp[i][0] = 1
for j in range(n):
dp[0][j] = 1
# 递推计算 dp 数组
for i in range(1, m):
for j in range(1, n):
dp[i][j] = dp[i-1][j] + dp[i][j-1]
# 输出结果
print(dp[m-1][n-1])
```
输出结果为 28,即总共有 28 条不同的路径。
阅读全文