[C++] 2阶魔方还原
为了能够简化还原操作,这里约定还原操作一步只能将任意面旋转90度。由于魔方被拆过,有可能无法还原。
输入:一行字符串,魔方的初始状态,为24个字节的char数组,数组的下标(0~23)分别对应魔方的位置(前后左右上下远近均相对于前面观察的人,假设魔方的一面正对观察的人):前面左上、前面右上、前面左下、前面右下、后面左上、后面右上、后面左下、后面右下、左面远上、左面近上、左面远下、左面近下、右面远上、右面近上、右面远下、右面近下、上面左远、上面右远、上面左近、上面右近、下面左远、下面右远、下面左近、下面右近。
数组的值为六个字母”ROYGBW”中的某一个,分别表示“红橙黄绿蓝白”六种颜色
输出: 还原魔方使用的最少步骤数,-1表示无法还原。