转动游戏
提交数: 58, 通过率: 20.69%, 平均分: 34.6
题目描述:
如下图所示,有一个“#”形的棋盘,上面有1,2,3三种数字各8个。给定8种操作,分别为图中A~H。这些操作会按照图中字母和箭头所指明的方向,把一条长为8的序列循环移动1个单位。
给你一个游戏初始状态(从上到下,从左到右顺序给出),其中包含两个横轴,两个竖轴,你可以进行向上转,向下转,向左转,向右转共8种操作(一次旋转一个横轴或竖轴),你的任务是找到一个最短的操作序列,使中间3*3的方格中只有一种数字(除了中央的那个空方格),如果有多个长度相等的序列,输出字典序最小的那个,如果不需要操作,输出"No moves needed"。然后还要输出中间区域的数字。
数据保证游戏中只有1,2,3这几个数字且每个出现8次。
输入格式:
输入一行1、2、3的24个数字,从上往下,从左到右依次给出。
样例1中的输入与上图中所示布局一致。
输出格式:
输出包含两行。
第一行是每一步移动的字母代表A到H,这些字母间没有空格,如果没有必要移动,那么输出“ No moves needed ”。
第二行输出经过移动操作后中间区域上的数字。
样例输入:
样例1: 1 1 1 1 3 2 3 2 3 1 3 2 2 3 1 2 2 2 3 1 2 1 3 3 样例2: 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
样例输出:
样例1: AC 2 样例2: DDHH 2时间限制: 1000ms
空间限制: 256MB