Chaque fois que vous effectuez un mouvement sur un Rubik's Cube, il y a un mouvement inverse qui annule le premier mouvement. Pour cette raison, chaque algorithme (ensemble de mouvements) a un algorithme inverse qui annule le premier algorithme.
Le but de ce défi est de trouver l'inverse d'un algorithme donné.
Spécification:
L'entrée se compose d'un tableau de mouvements individuels. Chaque mouvement est une chaîne de longueur 1 ou 2. Bien sûr, vous pouvez utiliser le format d'entrée le plus logique dans votre langue. Chaque mouvement se compose de la structure X
ou X'
ou X2
, où X
est une lettre majuscule ou minuscule.
Pour inverser X
, remplacez-le simplement par X'
. De même, X'
devient X
. X2
d'autre part ne change pas.
Pour créer la sortie, inversez chaque déplacement, puis inversez le tableau.
Exemples (chaînes séparées par des espaces):
R
=> R'
D U'
=> U D'
S T A C K
=> K' C' A' T' S'
A2 B2
=> B2 A2
Notation:
Il s'agit de code-golf, donc le moins d'octets est gagnant. Les échappatoires standard ne sont pas autorisées.
X3
ou X1
aurait été un bon ajout au défi.
D2R2
comme cas de test ...
R2
->R2'
ouB
->B3
permis?