CF316C2 Tidying Up
题目描述
聪明的海狸非常注重自己的外表,尤其是鞋子,所以他拥有森林里最著名品牌的大量鞋子。他总是小心地整理鞋子,让每一双鞋都并排放好。但由于他非常活跃,每到周末更衣室就会变得一团糟。
来自 ABBYY 的聪明海狸不仅是这一带最聪明的海狸,也是最顾家的。例如,每到周一,聪明海狸都会打扫家里的所有地方。
现在是周一早晨。聪明海狸不想花整天时间打扫卫生,毕竟还有很多事情要做,而且今天还要去健身房,所以他希望尽快收拾好。现在地板已经擦干净,灰尘也已经清理干净——是时候整理更衣室了。但当聪明海狸走进更衣室时,他一天的计划突然被打乱了:里面一片混乱,看起来即使一周也难以收拾。请给我们的主人公一点希望:告诉他,最少需要移动多少只鞋子,才能让更衣室变得整洁。
更衣室是一个 $n \times m$ 的矩形,被划分为 $n \times m$ 个大小相等的格子,每个格子里正好有一只鞋。每一双鞋都有一个唯一的编号,是从 $1$ 到 $\frac{n \times m}{2}$ 的整数,更正式地说,坐标为 $(i,j)$ 的格子里放着编号为某个整数的鞋子。聪明海狸认为更衣室整洁的标准是每一双运动鞋都并排放在一起。我们认为,如果编号相同的两只鞋分别在 $(i_1, j_1)$ 和 $(i_2, j_2)$,且 $|i_1 - i_2| + |j_1 - j_2| = 1$,那么这双鞋就是并排放好的。
输入格式
第一行包含两个用空格分隔的整数 $n$ 和 $m$,表示更衣室的尺寸。接下来的 $n$ 行,每行包含 $m$ 个用空格分隔的整数,描述了更衣室的情况。每个数字表示一只鞋的编号。
保证:
- $n \cdot m$ 是偶数。
- 所有鞋子的编号都在 $1$ 到 $\frac{n \times m}{2}$ 之间。
- 每个编号从 $1$ 到 $\frac{n \times m}{2}$ 恰好出现两次。
对于 30 分的输入数据(子任务 C1):
- $2 \leq n, m \leq 8$。
对于 100 分的输入数据(子任务 C1+C2):
- $2 \leq n, m \leq 80$。
输出格式
输出一个整数,表示最少需要移动多少只鞋子,才能让更衣室变得整洁。
说明/提示
 这是第二个样例。
由 ChatGPT 4.1 翻译