问题2791--八数码问题

2791: 八数码问题

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 64 MB

题目描述

八数码问题是指这样一种游戏:将分别标有数字1,2,3,…,8的八块正方形数码牌任意地放在一块3×3的数码盘上。放牌时要求不能重叠。于是,在3×3的数码盘上出现了一个空格。现在要求按照每次只能将与空格相邻的数码牌与空格交换的原则,将任意摆放的数码盘逐步摆成某种特殊的排列。如下图表示了一个具体的八数码问题求解。 你的任务就是给你一个八数码的初始状态,要求你用最少的步数移动到目标状态 目标状态是
 
      1 2 3
      4 5 6
      7 8  

输入

一个八数码的初始状态,例如
 
      1 2 3
        4 6
      7 8 5

输入的时候表示成1 2 3 x 4 6 7 8 5

输出

显示输出到达目标状态所需的最小步数,然后输出移动的路径 如果无解则输出unsolveable

样例输入 Copy

2 3 4 1 5 x 7 6 8

样例输出 Copy

19

来源/分类

Lin Jiudui