1499 Atcoder ABC 332 - 交换谜题 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1499

Atcoder ABC 332 - 交换谜题

Easy 时间限制 1000 ms 内存限制 262144 KB
枚举 Atcoder BFS

题目详情

返回题库

题目描述

给你两个网格,A 和 B,每个网格有H行和W列。

对于满足1≤i≤H和1≤j≤W的每一对整数(i,j),让(i,j)表示i行和j列中的单元格。在网格 A 中,单元格(i,j)包含整数Ai,j​。在网格 B 中,单元格(i,j)包含整数Bi,j​。

您将重复以下操作任意多次,可能为零。在每次操作中,您都要执行以下操作之一:

  • 选择一个满足1≤i≤H−1的整数i,然后交换网格 A 中的i行和(i+1)行。
  • 选择一个满足1≤i≤W−1的整数i,然后交换网格 A 中的第i列和第i+1列。

确定是否有可能通过重复上述操作使网格 A 与网格 B 相同。如果可能,请打印出这样做所需的最少操作次数。

这里,当且仅当对于满足1≤i≤H和1≤j≤W的所有整数对(i,j)来说,写在网格 A 的单元格(i,j)中的整数等于写在网格 B 的单元格(i,j)中的整数时,网格 A 才与网格 B 相同。

输入描述

第一行行和列 H,W

接下来两个H*W的矩阵分别为A和B两个矩阵

数据范围:

  • 所有输入值均为整数。
  • 2≤H,W≤5
  • 1≤Ai,j​,Bi,j​≤10^9

输出描述

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

测试样例

样例支持多行内容展示
样例1
输入
4 5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
1 3 2 5 4
11 13 12 15 14
6 8 7 10 9
16 18 17 20 19
输出
3
样例2
输入
2 2
1 1
1 1
1 1
1 1000000000
输出
-1
样例3
输入
3 3
8 1 6
3 5 7
4 9 2
8 1 6
3 5 7
4 9 2
输出
0
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。