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$