解题思路
两个机器人的合法路径长度都是 h+w−2 步,所以可以按步数一起转移。
- 走了 t 步之后,机器人 A 只下过、右过,位置一定是 (t−c1,c1);机器人 B 只下过、左过,位置一定是 (t−(w−1−c2),c2)。
- 用 dp[c1][c2] 表示当前步数下,A 在第 c1 列、B 在第 c2 列时,已经盘点到的价值最大值。
- A 下一步只能下或右,B 下一步只能下或左。走到新格子时把两格价值都加上。
- 如果这一步两人落到同一格,该转移非法。不同时刻经过同一格是允许的,价值会加两次。
- 起点先把 v0,0+v0,w−1 记入。最终步数是 h+w−2,A 在第 w−1 列、B 在第 0 列。