#P15674. [ICPC 2024 Jakarta R] X Aura
[ICPC 2024 Jakarta R] X Aura
说明
ICPC 山可以表示为一个有 行(编号从 到 )和 列(编号从 到 )的网格。位于第 行第 列的单元格记为 ,其高度为 。如果两个单元格共享一条边,则它们是相邻的。形式化地, 与 、、 和 相邻(如果它们存在)。
你只能在相邻单元格之间移动,并且每次移动都会产生一个惩罚值。当拥有一个正的奇数整数 作为光环时,从一个高度为 的单元格移动到一个高度为 的单元格,你会受到 的惩罚。注意,惩罚值可以是负数。
你需要回答 个独立的场景。在每个场景中,你从起始单元格 出发,希望以最小的总惩罚值到达目标单元格 。在某些场景中,总惩罚值可能会变得任意小;这样的场景被称为无效的。请找出从起始单元格移动到目标单元格的最小总惩罚值,或者判断该场景是否无效。
输入格式
第一行包含三个整数 (;; 是奇数)。
接下来的 行,每行包含一个长度为 的字符串 。 中的每个字符都是 0 到 9 的数字。 的第 个字符表示单元格 的高度,即 。
接下来一行包含一个整数 ()。
接下来的 行,每行包含四个整数 (;)。
输出格式
对于每个场景,在一行中输出以下内容。如果该场景无效,输出 INVALID。否则,输出一个整数,表示从起始单元格移动到目标单元格的最小总惩罚值。
3 4 1
3359
4294
3681
5
1 1 3 4
3 3 2 1
2 2 1 4
1 3 3 2
1 1 1 1
2
4
-7
-1
0
2 4 5
1908
2023
2
1 1 2 4
1 1 1 1
INVALID
INVALID
提示
样例输入/输出 #1 的解释
对于第一个场景,其中一个解决方案是按如下路径移动:$(1, 1) \rightarrow (2, 1) \rightarrow (3, 1) \rightarrow (3, 2) \rightarrow (3, 3) \rightarrow (3, 4)$。该方案的总惩罚值为 $(3 - 4)^1 + (4 - 3)^1 + (3 - 6)^1 + (6 - 8)^1 + (8 - 1)^1 = 2$。
样例输入/输出 #2 的解释
对于第一个场景,循环 $(1, 1) \rightarrow (2, 1) \rightarrow (2, 2) \rightarrow (1, 2) \rightarrow (1, 1)$ 的惩罚值为 $(1 - 2)^5 + (2 - 0)^5 + (0 - 9)^5 + (9 - 1)^5 = -26250$。你可以不断重复这个循环,使得你的总惩罚值任意小。类似地,对于第二个场景,你可以先移动到 ,然后重复相同的循环。
翻译由 DeepSeek V3.2 完成
京公网安备 11011102002149号