#40. 魔法矩阵

内存限制:128 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Koishi

题目描述

历经千辛万苦,猫猫冒险队终于来到了 Koishi 魔王门前。

要是想打开这道门,小卷必须解开门前的魔法锁。

魔法锁可以看成一个大小为 n \times m 的矩阵,矩阵上有 n \cdot m 个数字,他们分别是 1, 2, 3, \ldots, n \cdot m。但数字的位置被 Koishi 打乱了,第 i 行第 j 列的数字是 a_{i,j}

若想开锁,小卷必须从数字 1 所在的格子出发,然后按照 234\cdots 的顺序一直走到 n \cdot m 所在的格子为止。小卷每一步只能移动到上下左右四个方向相邻的格子里,并且不能走出矩阵边界。

现在汤圆要算出小卷走完全程需要移动多少步。

输入格式

第一行两个正整数 nm,用一个空格隔开,代表地图大小为 n \times m

接下来 n 行,每行 m 个正整数 a_{i,j},用一个空格隔开,表示第 i 行第 j 列的数字是 a_{i,j}

输出格式

一行一个整数 ans,表示小卷走完全程需要移动 ans 步。

样例

输入样例

3 3
1 5 6
2 8 7
9 4 3

输出样例

12

数据范围与提示

1 \leq n, m \leq 500

保证在输入的矩阵 a 中,从 1n \cdot m 的正整数均恰好出现一次。