hzCPPOJ

屠龙勇士

时间限制:  5 s      内存限制:   128 MB
提交:15     正确:1     分值:99

题目描述

   九位勇士组成一个3*3的阵型去屠龙,但是这个阵型的要求很奇特,要九个人按照强弱依次编号1~9,且阵型中每行、每列、每条长对角线上的数字和都为15,这样才能使龙对勇士和阵型收到的损害最小。

    九位勇士已编好了号并站好了位置,例如:

7  8  9

1  2  3

4  5  6        

每一次交换都可以将相邻的两位勇士(也就是编号……)交换位置,例如:

7  9  8

1  2  3    (8与9交换)

4  5  6

7  8  9

4  2  3    (4与1交换)

1  5  6

但不能

7  8  9

5  2  3    (1与5交换)

4  1  6        

    求最少的交换次数,使得九位勇士能在最短的时间内以最安全的阵型去屠龙。


 设想了许多的阵型,运用10组阵型(测试点),每组50个……检验算法是否OK!



输入

输入数据一共3*50行,每个数据中用3*3的9个不同的1~9的数字表示初始状态。

样例却只给了几个阵型。

输出

每行一个数,即对应的初始阵型到所需阵型所需最少的交换次数,如果无解,输出-1。

样例

样例输入:
7 8 9 1 2 3 4 5 6 6 1 8 7 5 3 2 9 4 1 2 8 3 5 4 6 7 9
样例输出:
8 0 5

提示

测试点5s限制

提交人

vijosP1029

来源/分类