#Z02102. 我该怎么交换呢?

我该怎么交换呢?

题目描述

给你两个网格 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 相同。(也就是A和B完全相等)

输入格式

所有输入值均为整数。 

2≤H,W≤5 


1≤A i,j ,B i,j  ≤109


输入格式如下:


H 

A 1,1 A 1,2 ⋯ 

A 1,W 

A 2,1 A 2,2 ⋯ 

A 2,W 

⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 


A H,1 A H,2 ⋯ 

A H,W 

B 1,1 B 1,2 ⋯ 

B 1,W 

B 2,1 B 2,2 ⋯ 

B 2,W 

⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 


B H,1 B H,2 ⋯ 

B H,W

输出格式

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

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

提示

交换初始网格 A 的第四列和第五列,得到以下网格: 

1 2 3 5 4 


6 7 8 10 9 


11 12 13 15 14 


16 17 18 20 19 





然后,交换第二行和第三行,得到以下网格: 


1 2 3 5 4 


11 12 13 15 14 


6 7 8 10 9 


16 17 18 20 19 





最后,交换第二列和第三列,得到以下与网格 B 相同的网格:


1 3 2 5 4 


11 13 12 15 14 


6 8 7 10 9 


16 18 17 20 19 





通过上述三种操作可以使 A 网格与 B 网格完全相同,但无法通过更少的操作使 A 网格与 B 网格完全相同,因此打印 3 。