硬币收集问题
硬币收集问题
Nuyoah硬币收集问题(动态规划)
问题:
(硬币收集问题)在n*m格木板中放置一些硬币,每一个格子上最多放置一个硬币。在木板的左上方,一个机器人需要收集尽可能多的硬币,并把他们带到右下角的单元格。每一步,机器人可以从当前位置向右或向下移动一格,当遇到一个有硬币的单元格时,就会将该硬币收集起来。设计一个算法,找出机器人能够收集到最大硬币数,并给出路径。
因为这里机器人只能向下和右边 走所以matrix[n,j]的位置确定依赖于 上面和左边
代码为:
1 | ''' |
测试数据:
1 | 0 | 0 | 0 | 0 |
---|---|---|---|---|
1 | 1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
matrix数组为:
0 0 0 0 0 0
0 1 1 1 1 1
0 2 3 3 3 3
0 2 4 4 4 4
0 2 5 6 7 7
0 2 5 6 8 8
0 3 6 7 9 10
rec数组为:
U L L L L
U L L L L
U U L L L
U U L L L
U U U U L
U U U U L
最后追踪效果为
(1, 1) -> (2, 1) ->(2, 2) -> (3, 2) -> (4, 2) -> (4, 3) -> (4, 4) -> (5, 4) -> (6, 4) -> (6, 5)
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果