UVA197 Cube

题目描述

有一个由27个小立方体构成的3*3*3的大立方体,它碎成了七个部分 [图片一]:这七个碎片构成一个大立方体 这七个碎片可以通过多种方式组合成大立方体,图二显示了其中两种可能性,其中第一个正方形表示前面的面,第二个表示中间的面,最后一个表示后面的面(译者注:详见图三),小方格中的字母表示七个部分在其中对应的位置,七个碎片的名字可以在图一中找到。 [图片二]:两种组合方块的可能 你要编一个程序输出所有组合成大立方体的可能性,但是不要输出仅仅是其他答案的翻转的答案。

输入格式

输入文件会有几个的测试数据,每个测试数据显示了碎片a的初始位置,你可以翻译它,但绝对不可以翻转它。

输出格式

对于每一个解,你需要输出一行含答案的字符串,这个字符串是线性化的大立方体,每个字母表示七个部分在其中对应的位置,它是以以下方式进行线性化的: *字符串由前中后三个面的子字符串表示; *每个子字符串由顶中底三行的子字符串表示; *每个行的子字符串由左中右的字符表示; 图二的解应当由这样表示: adcaccaacddgbfgffedggbfebee aababbadcffegfcddcfeeggedgc 用图一中的命名约定和像上面的例子一样的线性化方式是很重要的。 每个答案后换行。 [图片三]:字符串方格中的位置 图三再一次显示了大立方体中的小方格如何线性化。 提示:碎片a是唯一的不能通过翻转转变成自己的碎片,避免顺序上找到的解只是其他找到的解的翻转,你应该限制碎片a的转变形式。