P16000 [ICPC 2020 NAC] Hopscotch

题目描述

镇上有一个新的艺术装置,它激发了你……玩一个幼稚的游戏。该艺术装置由一块铺有 $n \times n$ 方砖的地板组成。每块砖上有一个 $1$ 到 $k$ 之间的数字。你想在上面玩跳房子游戏。你希望从某个标有 $1$ 的砖块开始,然后跳到某个标有 $2$ 的砖块,接着是 $3$,依此类推,直到到达某个标有 $k$ 的砖块。你是一个优秀的跳跃者,所以你可以跳任何所需的距离。你恰好访问每个数字 $1$ 到 $k$ 的砖块一次。 在一整局跳房子游戏中,可能的最短总距离是多少?使用曼哈顿距离:位于 $(x_1, y_1)$ 和 $(x_2, y_2)$ 的两块砖之间的距离为 $|x_1 - x_2| + |y_1 - y_2|$。

输入格式

输入的第一行包含两个空格分隔的整数 $n$($1 \le n \le 50$)和 $k$($1 \le k \le n^2$),其中艺术装置由 $n \times n$ 的矩阵组成,砖块上的数字为 $1$ 到 $k$。 接下来的 $n$ 行,每行包含 $n$ 个空格分隔的整数 $x$($1 \le x \le k$)。这就是艺术装置。

输出格式

输出一个整数,表示从某个 $1$ 砖块开始,到某个 $k$ 砖块结束的最短路径的总长度;如果不可能,则输出 $-1$。

说明/提示

翻译由 DeepSeek V3.2 完成