坐标问题 4

[复制链接]
发表于 2024-1-2 17:30:32 | 显示全部楼层 |阅读模式
思路2:可以发现,只要知道移动步数和两个横坐标,那么两个纵坐标就可以计算出来。
1. 划分阶段:每走一步为一个阶段。
与思路1不同的是,这一次两张纸条要同时移动。
2. 状态表示:设两张纸条分别位于第 r1行第 c1列、第 r2行第 c2列,i 为移动步数,那么 f(i,r1,r2)表示两张纸条从起点出发,经过 i 步分别到达这两个点时经过的数字和的最大值。
为了保证道路不交叉,应有 r1>r2。
f(i-1,r1-1,r2-1) ↓↓)ìíf(i-1,r1-1,r2)  (↓→)
3. 状态转移方程:f(i,r1,r2)=map(r1,c1)+map(r2,c2)+max f(i-1,r1,r2-1) →↓)
îf(i-1,r1,r2) →→)
c1=i+2-r1,c2=i+2-r2,同时 r1+c1=r2+c2。
4. 输出:f(mn-3, m, m-1)
mn-3是从左上角出发,到右下角的移动步数。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表