首页 > ACM题库 > HDU-杭电 > hdu 2247 考研路茫茫――劳逸结合待解决[解题报告]C++
2014
01-04

hdu 2247 考研路茫茫――劳逸结合待解决[解题报告]C++

考研路茫茫――劳逸结合

问题描述 :

XXX教育我们,不能光看书,要劳逸结合。于是Lele就又开始了魔方之旅。不过这次,他转的是二阶魔方,即由2*2*2个小方块组成的魔方。如下图。

【图一】:

通常,标准的魔方配色是这样的,顶面是蓝色(Blue),左面是白色(White),前面是红色(Red),右面是黄色(Yellow),后面是橙色(Orange),底面是绿色(Green)。把立体魔方展开以后就如下图:

【图二】:

魔方转法大家应该都清楚吧,每次可以对6个面中的任意一个面进行一次顺时针,或者逆时针的转动,这样叫转一步。转魔方的目标就是让每一个面都只包含一种颜色。

不过Lele比较菜,每次都要转几十步才能转出来。于是,他想知道,对于任意一个状态的魔方,最少几步就能把魔方转回去。

输入:

本题目包含多组数据,请处理到文件结束。
每组数据包括6行,每行代表一个面的颜色状态。这6行是以顶面,左面,前面,右面,后面,底面的顺序给出。
对于每一个面,用4个字母(每个字母为B,W,R,Y,O,G中的一个),代表该面的颜色。其中4个字母是以图二中的该面0~3的顺序给出。
两组数据之间用一个空行隔开。

数据都是由标准魔方随机转出来的,所以保证每组数据都是有解的。

输出:

本题目包含多组数据,请处理到文件结束。
每组数据包括6行,每行代表一个面的颜色状态。这6行是以顶面,左面,前面,右面,后面,底面的顺序给出。
对于每一个面,用4个字母(每个字母为B,W,R,Y,O,G中的一个),代表该面的颜色。其中4个字母是以图二中的该面0~3的顺序给出。
两组数据之间用一个空行隔开。

数据都是由标准魔方随机转出来的,所以保证每组数据都是有解的。

样例输入:

B B B B
O O O O
W W W W
R R R R
Y Y Y Y
G G G G

B B W O
Y B R B
O Y O Y
G W G O
R R W W
Y R G G

样例输出:

0
2