525_1000

一个n * n的矩阵,每次操作如下,选择i, j,交换i, j行,交换i, j列,问从一个初始矩阵到达一个目标矩阵的最小操作步数。

经分析发现,这个矩阵是对称的,然后把它看做一个图的连接矩阵表,每次操作就相当于交换两个点的编号。

所以现在的问题就是枚举点一一对应的方式,然后找置换环,算出最小的答案就好了。

由于可以看出3个点的位置确定了所有点的位置,于是暴力枚举就有办法了。

补充:

如果不对称,而且每次操作是交换行或交换列呢。如果只是问能否到达,其实就是问两张对应的二部图是否同构。

猜你喜欢

转载自splayx.iteye.com/blog/1453569