Bombe à désamorcer

Bon, je vais couper le fil rouge, d'accord ? - Riggs

Pour tester sans la bombe, on valide en entrant l'ordre des fils, par ex. 15234
Ce défi est tiré de c0d1ngUP 2019

Afin de pouvoir enfin opérer sur le terrain, il vous reste à passer un examen pratique : le désamorçage de bombe.

Vous pouvez manipuler 5 fils : un noir, un rouge, un vert, un jaune, et un bleu. Sur ce type de bombe, le désamorçage consiste à débrancher les 5 fils, dans le bon ordre. L'essentiel du problème est donc de déterminer dans quel ordre il faut débrancher les fils.

Chaque couleur correspond à un numéro : 1 pour le noir, 2 pour le rouge, 3 pour le vert, 4 pour le jaune et 5 pour le bleu

Code couleur

La donnée de 5 chiffres indique l'ordre de coupure des fils. Par défaut, il s'agit de 34125, ce qui signifie qu'il faut couper en premier le vert (3), en deuxième le jaune (4), en troisième le noir (1), en quatrième le rouge (2) et enfin le bleu (5).

Avant que la bombe ne soit amorcée, la combinaison de désamorçage (34125) a toutefois été modifiée. On lui a fait subir des permutations. Une permutation consiste à échanger 2 chiffres de la combinaison. On décrit la permutation en donnant les positions des 2 chiffres à échanger. Par exemple, la permutation 14 signifie qu'il faut échanger le premier chiffre et le quatrième.

Voici un exemple :

La combinaison de départ est le code sortie d'usine : 34125. Supposons qu'on ait appliqué les permutations 14, 25, 13. Le code devient alors :

  • 34125 -> permutation 14 -> 24135
  • 24135 -> permutation 25 -> 25134
  • 25134 -> permutation 13 -> 15234

Le résultat après les 3 permutations est 15234. Cela signifie qu'il faudra couper en premier le fil noir (1), en deuxième le fil bleu (5), en troisième le fil rouge (2), en quatrième le fil vert (3) et en dernier le fil jaune (4).

Vous trouverez en entrée du problème la liste des permutations effectuées avant amorçage.

Lors de c0d1ngUP 2019, il fallait réellement désamorcer la bombe (photo du défi). Sur Pydéfis, pour valider, vous devez donner la séquence numérique des fils à couper. Par exemple : 34125

Type de retour
un nombre entier
Entrées du problème
Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.