八数码问题.....

/*问题描述:8个编有数码1 ̄8的滑牌,能在3*3的井字格中滑动。
 井字格中有一格是空格,用0表示,因而空格周围的数码滑牌都可能滑到空格中去.

 下图是数码滑牌在井字格中的两种状态:

         ┎─┬─┬─┒                        ┏━┯━┯━┓
         ┃2 │8 │3 ┃                        ┃1 │2 │3 ┃
         ┠─┼─┼─┨                        ┠─┼─┼─┨
         ┃1 │6 │4 ┃     ---->         ┃8 │0 │4 ┃
         ┠─┼─┼─┨                        ┠─┼─┼─┨
         ┃7 │0 │5 ┃                        ┃7 │6 │5 ┃
         ┗━┷━┷━┛                        ┗━┷━┷━┛

            初始状态                              目标状态

 以左图为初始状态,右图为目标状态,请找出从初始状态到目标状态的滑牌移步
 序列,具体要求:

    (1)输入初始状态和目标状态的数据;
       a、分别用两行输入上述两项数据:
         例:Enter the initial state:2 8 3 1 6 4 7 0 5
             Enter the final state:1 2 3 8 0 4 7 6 5
       b、对输入数据应有查错和示错功能;
    (2)实现从初始状态到目标状态的转换(如不能实现,程序应输出不能实现
    的提示信息);
    (3)输出结果,每移动一步都必须在屏幕上显示:
       a、移动每一步时的序号,最后一步的序号即为移动总步数;
       b、每一步移动后以3*3表格形式显示状态。
    (4)要求能使移动步数尽可能少;

 

*/ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值