走方格c++动态规划代码
时间: 2023-10-20 19:36:58 浏览: 69
俄罗斯方块C++代码
以下是一个使用动态规划求解走方格问题的示例代码:
```python
def count_paths(m, n):
# 创建一个二维数组表示方格
dp = [[0] * n for _ in range(m)]
# 初始化边界条件
for i in range(m):
dp[i][0] = 1
for j in range(n):
dp[0][j] = 1
# 逐个计算每个位置的路径数
for i in range(1, m):
for j in range(1, n):
# 当前位置的路径数等于上方和左方位置的路径数之和
dp[i][j] = dp[i-1][j] + dp[i][j-1]
# 返回右下角位置的路径数
return dp[m-1][n-1]
# 测试代码
m = 3 # 方格的行数
n = 4 # 方格的列数
result = count_paths(m, n)
print("走方格的路径数:", result)
```
这段代码中,我们使用二维数组`dp`来记录每个位置的路径数。首先,我们初始化边界条件,即第一行和第一列的路径数都为1,因为只能沿着边界走。然后,我们根据动态规划的思路,从左上角开始逐个计算每个位置的路径数,直到右下角。最后,返回右下角位置的路径数即为走方格的路径总数。
注意:这里假设只能向右或向下移动,且起点为左上角,终点为右下角。如果有其他要求,可以对代码进行相应的修改。
阅读全文