#4403. 交换拼图(Swapping Puzzle)

交换拼图(Swapping Puzzle)

题目描述

你有两个网格AABB,每个网格有HH行和WW列。

对于每对整数(i,j)(i,j)满足1iH1 ≤ i ≤ H1jW1 ≤ j ≤ W,让(i,j)(i,j)表示第ii行第jj列的单元格。在网格AA中,单元格(i,j)(i,j)包含整数Ai,jA_{i,j}。在网格BB中,单元格(i,j)(i,j)包含整数Bi,jB_{i,j}

你可以重复以下操作任意次数,可能为零次。在每次操作中,你执行以下操作之一:

  • 选择一个满足1iH11 ≤ i ≤ H-1的整数ii,并交换网格AA中第ii行和第(i+1)(i+1)行。
  • 选择一个满足1iW11 ≤ i ≤ W-1的整数ii,并交换网格AA中第ii列和第(i+1)(i+1)列。

确定是否可能通过重复上述操作使网格AA与网格BB相同。如果可能,请输出使网格AA与网格BB相同所需的最小操作次数。

这里,当且仅当对于所有满足1iH1 ≤ i ≤ H1jW1 ≤ j ≤ W的整数对(i,j)(i,j),网格AA中单元格(i,j)(i,j)中写的整数等于网格BB中单元格(i,j)(i,j)中写的整数时,网格AA与网格BB相同。

输入格式

输入按以下格式从标准输入给出:

HH WW

A1,1A_{1,1} A1,2A_{1,2} \cdots A1,WA_{1,W}

A2,1A_{2,1} A2,2A_{2,2} \cdots A2,WA_{2,W}

\cdots

AH,1A_{H,1} AH,2A_{H,2} \cdots AH,WA_{H,W}

B1,1B_{1,1} B1,2B_{1,2} \cdots B1,WB_{1,W}

B2,1B_{2,1} B2,2B_{2,2} \cdots B2,WB_{2,W}

\cdots

BH,1B_{H,1} BH,2B_{H,2} \cdots BH,WB_{H,W}

输出格式

如果无法使网格AA与网格BB相同,输出-1。否则,输出使网格AA与网格BB相同所需的最小操作次数。

样例

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
1 1
1 1
1 1
1 1000000000
-1
3 3
8 1 6
3 5 7
4 9 2
8 1 6
3 5 7
4 9 2
0
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
1
20

样例解释

【样例1说明】
交换初始网格AA的第四列和第五列得到以下网格:

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

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

1 3 2 5 4
11 13 12 15 14
6 8 7 10 9
16 18 17 20 19

你可以通过上述三次操作使网格AA与网格BB相同,并且无法用更少的操作次数完成,所以输出3。
【样例2说明】
无法通过操作使网格AA与网格BB匹配,所以输出-1。
【样例3说明】
网格AA在一开始就已经与网格BB相同。

数据范围

  • 所有输入值都是整数。
  • 2H,W52 ≤ H, W ≤ 5
  • 1Ai,j,Bi,j1091 ≤ A_{i,j}, B_{i,j} ≤ 10^9

来源

  • AtCoder ABC332D