题目
POJ1955
解法
这题没什么含金量,纯考代码能力。
除了枚举每一面的转法,还可以对每一个面抽象出一个统一的转法。
旋转时需要转与这个面紧接的四个条状,以及这个面本身,用round数组存四个条状的指针,然后就可以统一处理了。
#include <cstdio>
char cube[6][3][3];
char* round[6][4][3] = {
{
{
&cube[4][0][0], &cube[4][1][0], &cube[4][2][0]},
{
&cube[1][0][0], &cube[1][1][0], &cube[1][2][0]},
{
&cube[5][0][0], &cube[5][1][0], &cube[5][2][0]},
{
&cube[3][2][2], &cube[3][1][2], &cube[3][0][2]}
},
{
{
&cube[4][2][0], &cube[4][2][1], &cube[4][2][2]},
{
&cube[2][0][0], &cube[2][1][0], &cube[2][2][0]},
{
&cube[5][0][2], &cube[5][0][1], &cube[5][0][0]},
{
&cube[0][2][2], &cube[0][1][2], &cube[0][0][2]}
},
{
{
&cube[4][2][2], &cube[4][1][2], &cube[4][0][2]},
{
&cube[3][