O cubo de um Rubik tem 6 cores: vermelho, laranja, amarelo, branco, azul e verde. Os rostos vermelho e laranja, amarelo e branco e azul e verde estão em lados opostos.
A rede do cubo de Rubik resolvido é assim:
Y
BRGO
W
E os ladrilhos ficam assim:
Y Y Y
Y Y Y
Y Y Y
B B B R R R G G G O O O
B B B R R R G G G O O O
B B B R R R G G G O O O
W W W
W W W
W W W
Desafio
Dadas rotações, rotações reversas ou rotações duplas, produzem o que um cubo resolvido transformará, como arte ASCII ou como imagem (espaços em branco não são necessários, podem ou não existir, espaços em branco finais são permitidos).
A entrada será rotação (e modificador opcional). A notação de rotação é semelhante a: U(p), L(eft), F(ront), R(à direita), B(ack), D(próprio); 2(duplo) 'ou i(inverso).
Todas as rotações normais serão 90 ° no sentido horário, as inversas serão no sentido anti-horário.
Explicação sobre a precisão do relógio : imagine o cubo enquanto olha para o rosto vermelho e o rosto amarelo está no topo. Em seguida, gire o cubo para que a face que o programa irá girar fique voltada para você. É assim que o clockwiseness funcionará. (Exceto na face traseira, você girará o cubo horizontalmente nesse caso.)
Entrada
Entrada será uma lista de movimentos.
Saída
Uma arte ASCII que representa o cubo ou uma imagem da rede do cubo.
Exemplos
Entrada : (vazio)
Saída :
Y Y Y
Y Y Y
Y Y Y
B B B R R R G G G O O O
B B B R R R G G G O O O
B B B R R R G G G O O O
W W W
W W W
W W W
Entrada : U(para cima)
Saída :
Y Y Y
Y Y Y
Y Y Y
R R R G G G O O O B B B
B B B R R R G G G O O O
B B B R R R G G G O O O
W W W
W W W
W W W
Entrada : U'ou Ui(inversa para cima)
Saída :
Y Y Y
Y Y Y
Y Y Y
O O O B B B R R R G G G
B B B R R R G G G O O O
B B B R R R G G G O O O
W W W
W W W
W W W
Entrada : U2(dobrar para cima)
Saída :
Y Y Y
Y Y Y
Y Y Y
G G G O O O B B B R R R
B B B R R R G G G O O O
B B B R R R G G G O O O
W W W
W W W
W W W
Entrada : L'(esquerda invertida)
Saída :
R Y Y
R Y Y
R Y Y
B B B W R R G G G O O Y
B B B W R R G G G O O Y
B B B W R R G G G O O Y
O W W
O W W
O W W
Entrada : R(direita)
Saída :
Y Y R
Y Y R
Y Y R
B B B R R W G G G Y O O
B B B R R W G G G Y O O
B B B R R W G G G Y O O
W W O
W W O
W W O
Entrada : U2 L' D(dobra para cima, esquerda inversa, baixo)
Saída :
O Y Y
R Y Y
R Y Y
G B B W O O B B B R R Y
G B B W R R G G G O O Y
O O Y G B B W R R G G G
R O O
W W W
W W W
Regras
- Não são permitidas brechas.
- Este é o código-golfe , pelo que o código mais curto em bytes que resolve o problema vence.
S, E, M, x, y, z, u/ Uw, d/ Dw, r/ Rw, l/ Lw, f/ Fw, b/ Bwmove-se bem? Ou apenas o padrão: U, D, R, L, F, Be sua variante anti-horário com apóstrofo ( ')? Fora de tópico: eu sempre me pergunto com as perguntas relacionadas ao Cubo de Rubik, você também é um colecionador de Twisty Puzzles?