Solveur de Rubik's Cube 2x2 réalisé à l'occasion du stage de la finale des Olympiades Françaises d'Informatique 2026.
Le défi donné était de concevoir de zéro un solveur de Rubiks Cube 2x2 en C++ qui puisse résoudre le plus de cubes possibles en 1 seconde (en effectuant le moins de mouvements possibles).
L'entrée est attendue dans le même format que ce test :
WY
WY
ORBRGG
YGOBOW
WY
RG
BR
BO
Les faces étant disposées ainsi :
U1 U2
U3 U4
L1 L2 F1 F2 R1 R2
L3 L4 F3 F4 R3 R4
D1 D2
D3 D4
B1 B2
B3 B4
(Les lettres correspondent aux initiales des mouvements qui concernent ces faces dans la nomenclature officielle)
Le coin
U3
L2 F1
est fixé pour chaque test, il doit prendre les couleurs :
W
RB
(Voir le début de main.cpp pour la liste des couleurs et des mouvements)
En respectant toutes ces normes, le cube résolu correspond à cette entrée :
WW
WW
RRBBGG
RRBBGG
YY
YY
OO
OO
La sortie est une séquence de caractères correspondant aux initiales des mouvements à faire pour résoudre le cube donné en entrée.
Pour l'exemple donné plus haut, la sortie attendue est donc ULLUFFULBUL (11 mouvements, solution optimale).