#P1168. 最少操作数

最少操作数

题目描述

现在有一个nnmm列的方格图。

每次你可以执行下列操作中的一种:

  • 将相邻的两行进行交换;
  • 将相邻的两列进行交换;

现在给你方格图的初始形态和最终形态。

你的任务是计算最少经过几次操作,你可以将方格图由初始形态变成最终形态。保证一定能由初始形态变成最终形态。

输入格式

第一行两个整数nn, mm,表示方格图的大小为nnmm列。

接下来nnmm列描述方格图的初始形态;

接下来nnmm列描述方格图的最终形态。

输出格式

一行一个整数表示最少要经过几次操作。

2 5
1 2 3 4 5
6 7 8 9 10
2 3 1 4 5
7 8 6 9 10
2
2 2
1 1
5 1
1 5
1 1
2

样例解释

样例解释 1

把第一列往后交换两次,就可以得到最终形态。

样例解释 2

交换一次第一行第二行,再交换一次第一列第二列。

数据规模与约定

每组数据点10分,共10组数据。

方格图中的数字均为[1, 100]的正整数,可能有重复数字。

数据点编号 n,mn, m数据范围
#1~#2 n=1,m=5 n = 1, m = 5
#3~#5 n=2,m=5 n = 2, m = 5
#6~#10 1n5,1m5 1 \le n \le 5, 1 \le m \le 5

大样例

大样例下载