#604. Swapping Puzzle
Swapping Puzzle
题目描述
给定两个 的矩阵 和 。
你每次可以交换矩阵 的相邻两行中的所有元素或是交换两列中的所有元素。
请问要使 变换至 至少需要几步操作?
如果无法变换至 ,则输出 -1
。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
如果不可能将网格 A 与网格 B 匹配,则输出 -1
;如果可能,则输出将网格 A 与网格 B 匹配所需的最少操作数。
样例 #1
样例输入 #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
样例输出 #1
3
样例 #2
样例输入 #2
2 2
1 1
1 1
1 1
1 1000000000
样例输出 #2
-1
样例 #3
样例输入 #3
3 3
8 1 6
3 5 7
4 9 2
8 1 6
3 5 7
4 9 2
样例输出 #3
0
样例 #4
样例输入 #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
样例输出 #4
20
提示
制約
Sample Explanation 1
如果我们交换网格 A 初始状态下的 列和 行,网格 A 将如下所示。
1 2 3 5 4
6 7 8 10 9
11 12 13 15 14
16 17 18 20 19
`
继续交换网格 A 中的 行和 列,网格 A 将变成。
1 2 3 5 4
11 12 13 15 14
6 7 8 10 9
16 17 18 20 19
最后,交换网格 A 的 列和 行,网格 A 变成如下,与网格 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,因此输出 。
相关
在以下作业中: