Le QR Code secoué

Ce défi est tiré de c0d1ngUP 2023

On a remis au Docteur un QR code contenant l'emplacement d'une base Dalek. Évidemment, à peine en possession de cet artefact, le Docteur a bondi dans le Tardis pour s'y rendre avec toute la douceur habituelle de ses talents de pilote de Tardis.

Si la technologie du code est du 20ᵉ siècle, son support est un peu plus évolué. C'est une sorte de surface mécanique qui permet à un opérateur de rapidement le reprogrammer pour encoder une nouvelle valeur. Mais le mécanisme est assez délicat et n'a jamais été conçu pour voyager entre les mains d'un Seigneur du Temps. Ah ! Si River Song avait été là...

À chaque secousse, les lignes et les colonnes du QR code se mélangent, pour finalement donner un code complètement embrouillé et illisible.

Afin de comprendre le mécanisme, le Docteur met le QR code embrouillé à l'abri hors du Tardis, et réalise un nouveau voyage après avoir fixé un nouveau code dans le vaisseau. Ce code est composé de 21 lignes et 21 colonnes :

À la première secousse, il observe que certaines lignes et colonnes se décalent. Tout d'abord, les colonnes 3, 8 et 20 (la première colonne est la colonne numéro 0) sont décalées d'une unité vers le bas, puis les lignes 3, 8 et 20 sont décalées d'une unité vers la droite :

À la deuxième secousse, ce sont les colonnes puis les lignes 4, 9, et 0 qui sont décalées (le Docteur remarque que les numéros ont été décalés de 1 modulo 21 : 3 → 4, 8 → 9, 20 → 0) :

À chaque secousse, les numéros des colonnes et lignes à décaler augmentent de 1. Ainsi, à la troisième secousse, ce sont les colonnes 5, 10, 1 qui sont décalées vers le bas, puis les lignes 5, 10, 1 qui sont décalées vers la droite.

Après la cinquième secousse, le code ressemble à ceci :

Afin de vérifier que le principe de mélange par secousses est compris, le Docteur recommence son expérience : repartir du code de test non mélangé, le refixer sur le Tardis, puis repartir.

Cette fois, les secousses sont un peu plus fortes. Il y a eu 6 colonnes et lignes de déplacées : 1, 2, 8, 11, 14 et 19 :

Il est temps de faire le point :

  • Le QR code contenant les coordonnées de la base Dalek a été secoué.
  • Étant donnée l'intensité des secousses, le Docteur estime qu'à chaque secousse, 6 colonnes et lignes ont été décalées.
  • Les numéros des colonnes et lignes semblent complètement dépendants de la manière dont le code est fixé sur le Tardis. Impossible de les prévoir (time is like a big ball of a wibbly wobbly, timey wimey stuff). Le Docteur ignore donc quelles colonnes et lignes ont été déplacées à la première secousse...
  • Après chaque secousse, les numéros des lignes et colonnes (quels qu'ils aient été au début) augmentent de 1 modulo 21
  • Le code contenant les coordonnées de la base Dalek a été secoué 20 fois !

Voici l'état du code contenant les coordonnées de la base après les 20 secousses :

Retrouvez les coordonnées géographiques de la base Dalek (vous pouvez utiliser Openstreetmap ou Google maps pour faire ça), puis le nom du site en question. Entrez le nom du site pour valider le défi.

Type de retour
une chaîne de caractères
Entrées du problème
Pas de données d'entrée
Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.