标题:求教
只看楼主
fenging1111
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-21
 问题点数:0 回复次数:0 
求教
在魔方风靡全球之后,Rubik先生发明了它的简化版--魔板,如图1所示,   
  魔板由8个同样大小的方块组成,每个方块的颜色均不相同,本题中以数字1-8   
  分别表示,可能出现在魔板的任一位置,任一时刻魔板的状态可以用方块的颜色序   
  列表示:从魔板的左上角开始,按顺时针方向依次写下各方块的颜色代号,得到的   
  数字序列即可表示此时魔板的状态。例如,序列(1,2,3,4,5,6,7,8)表示图1所示   
  魔板的状态,这也就是题中魔板的初始状态。   
  对于魔板,可以施加三种不同的操作,分别以A,B,C标识。具体操作方   
  法如下:   
  A:上下行互换;   
  B:第一行同时循环右移一格;   
  C:中间4个方块顺时针旋转一格;   
  应用这三种基本操作,可以由任一状态达到任意另一状态。   
   
  图一                   操作A                     操作B                 操作C   
  1   2   3   4         8   7   6   5                 4   1   2   3             1   7   2   4   
  8   7   6   5         1   2   3   4                 5   8   7   6             8   6   3   5   
   
  要求:   
  1。请编一程序,对于输入的一个目标状态,寻找一种操作的序列,使得从初始状   
  态开始,经过此操作序无后使该魔板变为目标状态。   
  2。20次操作内无此状态,报告出错信息   
  3。能实现单步运行,每一步产生一幅魔板图,一验证找到的序列。   
  简析:   
  算法:   双向搜索   
  数据结构:   数组   
  题型:   II   型   
  难度:   6   分   
  编程时间:   90分钟   
  简述:   用动态内存可存下所有的8!   种状态,双向搜索可加快运行速度,也   
  可用构   
  造的方法。
搜索更多相关主题的帖子: 魔方 方块 状态 数字 
2008-07-02 14:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-222269-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.280429 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved