通过交换元素将矩阵A转换为B.

时间:2014-04-30 15:05:46

标签: matrix swap

好吧,我得到了这个功课,我必须找到最小数量的互换,将一些矩阵A转换为给定的其他矩阵B,约束非常有限("矩阵和矩阵上不能超过10个元素)也将是N = M"),这意味着它将始终是1x1矩阵和2x2矩阵(这是微不足道的),问题在于3x3矩阵。

我已经尝试通过寻找矩阵上两个元素之间的曼哈顿距离来回溯元素,这两个元素是分开的,乘以2和减去-1,例如

交换规则是:您可以交换相邻的元素,当它们共享同一行或同一列时我们定义相邻。

1 3 2

6 5 4

7 8 9

目标:

1 2 3

4 5 6

7 8 9

{1,3}之间的曼哈顿距离是1,所以2*1 - 1 = 1需要1次交换。 对于{6,4}是2,所以2*2 - 1 = 3需要3次互换,最后的答案是需要4个互换。

但是,我的程序被自动修正器拒绝了,关于如何解决这个问题的任何想法?

0 个答案:

没有答案