#92. 回转游戏

回转游戏

题目描述

如下图所示,有一个#\red{“\#”}形的棋盘,上面有1,2,3\red{1,2,3}三种数字各8\red{8}个。

给定8\red{8}种操作,分别为图中的AH\red{A\sim H}

这些操作会按照图中字母和箭头所指明的方向,把一条长为8的序列循环移动1\red{1}个单位。

例如下图最左边的#\red{“\#”}形棋盘执行操作A\red{A}后,会变为下图中间的#\red{“\#”}形棋盘,再执行操作C\red{C}后会变成下图最右边的#\red{“\#”}形棋盘。

给定一个初始状态,请使用最少的操作次数,使#\red{“\#”}形棋盘最中间的8\red{8}个格子里的数字相同。

img

输入格式

输入包含多组测试用例。

每个测试用例占一行,包含24\red{24}个数字,表示将初始棋盘中的每一个位置的数字,按整体从上到下,同行从左到右的顺序依次列出。

输入样例中的第一个测试用例,对应上图最左边棋盘的初始状态。

当输入只包含一个0\red{“0”}的行时,表示输入终止。

输出格式

每个测试用例输出占两行。

第一行包含所有移动步骤,每步移动用大写字母AG\red{“A\sim G”}中的一个表示,字母之间没有空格,如果不需要移动则输出No moves needed\red{“No\ moves\ needed”}

第二行包含一个整数,表示移动完成后,中间8\red{8}个格子里的数字。

如果有多种方案,则输出字典序最小的解决方案。

样例

输入样例

1 1 1 1 3 2 3 2 3 1 3 2 2 3 1 2 2 2 3 1 2 1 3 3
1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
0

输出样例

AC
2
DDHH
2