#3889. 能量矩阵的最小下降路径

能量矩阵的最小下降路径

🐰😺🧭 兔猫信奥学院·加菲老师的能量矩阵下降之旅 🧭😺🐰

在信奥学院的高塔顶层,加菲老师给小兔和小猫展示了一块神秘的能量矩阵。矩阵共有 n×nn\times n 个能量晶格,每个格子上的整数代表机器人经过时的能量消耗(可为正或负)。机器人从第一行任意一格起步,每次只能下降到下一行中列索引相差最多 11 的格子——也就是说,如果当前在位置 (i,j)(i,j),下一步可选位置为

(i+1,  j1),(i+1,  j),(i+1,  j+1),(i+1,\;j-1),\quad (i+1,\;j),\quad (i+1,\;j+1),

前提是这些位置在矩阵范围内。请你帮忙计算,机器人从顶端到底部所需消耗能量的最小总和。


输入格式

第一行包含整数 n,表示矩阵的维度。
接下来 n 行,每行包含 n 个整数 matrix[i][j],用空格分隔,表示能量消耗值。
  • 1n1001 \le n \le 100
  • 100matrix[i][j]100-100 \le matrix[i][j] \le 100

输出格式

输出一个整数,表示从第一行任意起点到最后一行的最小下降路径和。

样例 1

3
2 1 3
6 5 4
7 8 9
13
  • 解释:
    两条最小下降路径之一为:
    214  (=2+1+4=7)2 \to 1 \to 4 \;(=2+1+4=7) ——注意此路径不合法,因为 11 到 44 是跨两列;
    正确的最小路径是 215  (=2+1+5=8)2\to1\to5\;(=2+1+5=8) 也不对;
    实际最小路径为 346  (=3+4+6=13)3\to4\to6\;(=3+4+6=13)256  (=2+5+6=13)2\to5\to6\;(=2+5+6=13),二者均为 1313

样例 2

2
-19 57
-40 -5
-59
  • 解释:
    最优路径为 1940  (=59)-19\to-40\;(=-59),或 575  (=52)57\to-5\;(=52),前者更小。

🎓 加菲老师寄语:
本题是经典的网格动态规划进阶,学会后即可应对更高维度和多方向的路径优化问题。下次,我们将探索带权跳跃与负循环的神秘领域,敬请期待!