魔板
时间限制:1s 空间限制:162MB
题目描述
在魔方风靡全球之后,Rubik先生发明了它的简化版--魔板,如图1所示,魔板由8个同样大小的方块组成,每个方块的颜色均不相同,本题中以数字1-8分别表示,可能出现在魔板的任一位置,任一时刻魔板的状态可以用方块的颜色序列表示:从魔板的左上角开始,按顺时针方向依次写下各方块的颜色代号,得到的数字序列即可表示此时魔板的状态。例如,序列(1,2,3,4,5,6,7,8)表示图1所示魔板的状态,这也就是题中魔板的初始状态。 对于魔板,可以施加三种不同的操作,分别以A,B,C标识。具体操作方法如下: A:上下行互换; B:上下两行同时循环右移一格; C:中间4个方块顺时针旋转一格; 应用这三种基本操作,可以由任一状态达到任意另一状态。 图2描述了上述3种操作的具体含义,图中方格外面的数字标识魔板的8个方块位置,方格内的数字表示此次操作前该小方块所在位置。即:如果位置P中有数字I,则表示此次操作前该方块在位置I。 请编一程序,对于输入的一个目标状态,寻找一种操作的序列,使得从初始状态开始,经过此操作序无后使该魔板变为目标状态。并且这个操作序列应该尽量短。
输入格式
第一行包含8个数字表示初始状态。
输出格式
输出你的程序寻找到的操作序列的步数L
样例输入
3 4 1 2 7 8 5 6
样例输出
2
提示
没有写明提示
题目来源
没有写明来源