Démarrer la Ford Anglia

Antivol Moldu ?

Ce défi est tiré de c0d1ngUP 2021

Ron et Harry ont décidé d'emprunter la Ford Anglia du père de Ron. Mais Arthur Weasley, vraiment fan d'électronique moldue, a fait ajouter un tableau de bord un peu spécial sur sa voiture. On y voit maintenant une série de 20 lampes, ainsi que 10 interrupteurs poussoirs.

Chaque fois qu'on presse un interrupteur, l'état des lampes change. Lorsqu'on insère la clé de contact, toutes les lampes sont initialement éteintes. Pour pouvoir démarrer la voiture, il faut allumer toutes les lampes.

Harry et Ron cherchent donc dans la documentation rédigée par Arthur Weasley pour savoir quels interrupteurs actionner, et dans quel ordre.

La documentation leur indique qu'il faut faire un minimum de manipulations d'interrupteurs (un interrupteur peut être utilisé plusieurs fois) et allumer toutes les lampes. C'est le seul moyen de démarrer la Ford. L'action de chaque interrupteur est indiquée :

  • l'interrupteur 1 inverse les lampes 2, 4, 9 et allume les lampes 6, 12, 17
  • l'interrupteur 2 inverse les lampes 10, 12, 15 et allume les lampes 7, 13, 14
  • l'interrupteur 3 inverse les lampes 2, 16, 20 et allume les lampes 5, 7, 18
  • l'interrupteur 4 inverse les lampes 8, 11, 14 et allume les lampes 4, 7, 13
  • l'interrupteur 5 inverse les lampes 6, 7, 16 et allume les lampes 5, 10, 19
  • l'interrupteur 6 inverse les lampes 2, 10, 13, allume les lampes 5, 8, 14 et éteint les lampes 6, 19
  • l'interrupteur 7 inverse les lampes 9, 12, 15 et allume les lampes 8, 11, 14
  • l'interrupteur 8 inverse les lampes 3, 10, 20, allume les lampes 4, 9, 12 et éteint les lampes 2, 16
  • l'interrupteur 9 inverse les lampes 4, 5, 12 et allume les lampes 1, 15, 19
  • l'interrupteur 10 inverse les lampes 7, 19, 20, allume les lampes 9, 11, 14 et éteint les lampes 13, 16

Malheureusement, Hermione n'est pas là pour les aider et leur dire dans quel ordre actionner les interrupteurs... Saurez-vous les aider ?

Par exemple, si la situation était la suivante :

  • on a seulement 5 lampes et 3 interrupteurs
  • l'interrupteur 1 inverse les lampes 4, 5 et allume les lampes 1, 2
  • l'interrupteur 2 inverse les lampes 1, 5 et allume les lampes 2, 3
  • l'interrupteur 3 inverse les lampes 1, 5, allume la lampe 4 et éteint la lampe 3

Une solution possible consisterait à actionner dans l'ordre les interrupteurs 1, 3 puis 2 :

Pour valider, il faudrait donc entrer 1, 3, 2. Attention, seule une solution qui met en jeu le nombre minimum de manipulations d'interrupteurs est valide ; ainsi 1, 2, 2, 2, 2, 1, 2, 3, 2, 3, 2, 2, 3, 3, 2 sont aussi des solutions valides.

Type de retour
une séquence de nombres entiers
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.