U674501 魔法交换

题目描述

#### 问题陈述 给你两个网格,A 和 B,每个网格都有 $H$ 行和 $W$ 列。 对于满足 $1 \leq i \leq H$ 和 $1 \leq j \leq W$ 的每一对整数 $(i, j)$ ,让 $(i, j)$ 表示第 $i$ 行和第 $j$ 列中的单元格。在网格 A 中,单元格 $(i, j)$ 包含整数 $A_ {i, j}$ 。在网格 B 中,单元格 $(i, j)$ 包含整数 $B_{i, j}$ 。 您将重复以下操作任意多次,可能为零。每次操作都要执行以下操作之一: - 选择一个满足 $1 \leq i \leq H-1$ 的整数 $i$ 并交换网格 A 中的 $i$ 行和 $(i+1)$ 行。 - 选择一个满足 $1 \leq i \leq W-1$ 的整数 $i$ ,然后交换网格 A 中的 $i$ 列和 $(i+1)$ 列。 确定是否有可能通过重复上述操作使网格 A 与网格 B 相同。如果可以,请打印这样做所需的最少操作次数。 这里,当且仅当对于满足 $1 \leq i \leq H$ 和 $1 \leq j \leq W$ 的所有整数对 $(i, j)$ 而言,写在网格 A 的单元格 $(i, j)$ 中的整数等于写在网格 B 的单元格 $(i, j)$ 中的整数时,网格 A 才与网格 B 相同。

输入格式

#### 输入 输入内容由标准输入法提供,格式如下 $H$ $W$ $A_{1, 1}$ $A_{1, 2}$ $\cdots$ $A_{1, W}$ $A_{2, 1}$ $A_{2, 2}$ $\cdots$ $A_{2, W}$ $\vdots$ $A_{H, 1}$ $A_{H, 2}$ $\cdots$ $A_{H, W}$ $B_{1, 1}$ $B_{1, 2}$ $\cdots$ $B_{1, W}$ $B_{2, 1}$ $B_{2, 2}$ $\cdots$ $B_{2, W}$ $\vdots$ $B_{H, 1}$ $B_{H, 2}$ $\cdots$ $B_{H, W}$

输出格式

#### 输出 如果无法使网格 A 与网格 B 相同,则输出 `-1`。否则,打印使网格 A 与网格 B 相同所需的最少操作数。

说明/提示

- 所有输入值均为整数。 - $2 \leq H, W \leq 5$ - $1 \leq A_{i, j}, B_{i, j} \leq 10^9$