Mélange à la Rubik

Mélange à la Rubik #

L’agent K n’a qu’une idée en tête : faire parvenir des messages à son contact sans qu’ils soient interceptés. Malheureusement pour lui, ses inventions farfelues ne sont pas assez farfelues pour vous.

Sa dernière trouvaille consiste à brouiller l’image contenant un message en mélangeant les pixels d’une certaine façon.

Lors de la première étape, l’image est divisée en quatre quadrants, et les quadrants sont déplacés dans le sens horaire. Sur l’exemple, le quadrant en haut à droite passe en bas à droite, celui en bas à droite passe en bas à gauche etc.

Lors de la deuxième étape, chacun des quadrants est de nouveau divisé en 4 et les 4 mini-quadrants sont eux aussi échangés, mais en tournant dans le sens anti-horaire cette fois.

Puis le processus continue, chacun des 16 carrés est divisé en 4 quadrants et à l’intérieur des 16 carrés, les 4 quadrants sont déplacés, à nouveau dans le sens horaire.

Et ainsi de suite, jusqu’à ce qu’il ne soit plus possible de diviser en quatre quadrants.

L’image d’exemple fait 8x8 pixels, et il faut donc 3 étapes avant de terminer (puisque 23 = 8). Pour une image de 256 x 256, il faudrait 8 étapes (puisque 28 = 256).

À chaque étape, on change le sens de rotation. À la première étape le sens est toujours le sens horaire.

Vous avez pu intercepter l’image suivante :

Dans quel village aura lieu le prochain rendez-vous de l’agent K ?

Pièces à fournir :

  • réponse à l’énigme ;
  • fichier contenant votre code source (.sb3 ou .py), pour que nous puissions tester ;
  • explications sur la manière dont vous avez procédé.

Testez votre réponse #

Vous pouvez vérifier votre réponse en entrant ci dessous le nom du village, en minuscules.