老鼠打洞python解法
时间: 2023-11-09 17:01:05 浏览: 286
老鼠打洞问题是一个经典的计算机科学问题,可以使用递归或动态规划来解决。以下是一个使用动态规划的Python解法:
```python
def mouse_hole(n, m, holes):
dp = [[0] * (m+1) for _ in range(n+1)]
for i in range(1, n+1):
for j in range(1, m+1):
dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + holes[i-1][j-1]
return dp[n][m]
# 示例用法
holes = [[1, 0, 0], [0, 1, 1], [1, 0, 0]]
print(mouse_hole(3, 3, holes)) # 输出 3
```
其中,`n`和`m`分别表示老鼠要通过的行数和列数,`holes`是一个二维数组,表示每个位置上的得分。函数返回老鼠能够获得的最大得分。
阅读全文