#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
W
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 。
豫公网安备41072702000346号