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
/ Bw
move-se bem? Ou apenas o padrão: U
, D
, R
, L
, F
, B
e 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?