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
样例4
输入
5 5
710511029 136397527 763027379 644706927 447672230
979861204 57882493 442931589 951053644 152300688
43971370 126515475 962139996 541282303 834022578
312523039 506696497 664922712 414720753 304621362
325269832 191410838 286751784 732741849 806602693
806602693 732741849 286751784 191410838 325269832
304621362 414720753 664922712 506696497 312523039
834022578 541282303 962139996 126515475 43971370
152300688 951053644 442931589 57882493 979861204
447672230 644706927 763027379 136397527 710511029
输出
20
editor.py

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