Le pistolet d'or

Mais celui là est pliable.

L'inventif Q a récemment trouvé un moyen de fabriquer des objets pliables, à base de petits segments, avec des charnières pratiquement invisibles.

Voici un exemple d'objet pliable (il est ici déplié), les points noirs représentent les charnières (axes de rotation).

Il est décrit par la séquence suivante (qui donne la longueur de chaque segment, alternativement horizontal et vertical) :

4,2,5,5,5,3,2,2,3,2

Les segments sont articulés et on peut les orienter en faisant une rotation autour des charnières. La seule contrainte est que chaque segment doit faire un angle de + ou - 90° avec le segment précédent. On pourrait, par exemple, plier les segments ci-dessus ainsi :

Pour indiquer comment plier les segments, il vous suffit de donner l'orientation (Nord = N, Sud = S, Est = E, Ouest = 0) de chaque segment. La règle des 90° impose donc qu'après N ou S, il y aura nécessairement E ou O et inversement.

Dans le cas précédent, la séquence d'instructions qui indique comment plier les segments pour faire un carré avec un trou au milieu serait donc :

SENOSENONE

Pour fêter la victoire de James sur Scaramanga, Q a décidé d'offrir une réplique pliable du célèbre pistolet d'or à 007. Ce dernier n'est pas particulièrement célèbre pour sa patience, et Q souhaite que vous écriviez une notice, qui permettra à James de plier correctement l'objet pour obtenir la réplique du pistolet.

Afin de vous tester, Q ne vous a fourni que la description des segments, ainsi que la forme finale de l'objet à obtenir, sans indication supplémentaire sur la manière de plier.

2,4,4,2,5,2,2,3,7,2,2,4,6,5,3,3,2,2,4,2,3,2,2,2,3,2,3,2,3,2,4,4,2,3,2,2,9,2,2,3,2,2,2,3,14,2,22,2,7,2,2,2,4,5,3,11,2,2,6,2,2,6,3,2,2,2,5,2,2,2,2,2,3,2,2,2,4,2,2,4,4,2,4,2,7,4

Pour monter dans l'estime de Q et valider ce défi, donnez la séquence d'instructions N, S, O, E (sous la forme d'une chaîne de caractères) qui permettrait à James de plier correctement son nouveau jouet.

  • Ce problème a été proposé par FortuiteMan*
Ce problème est tiré de c0d1ng UP 2019

Type de retour

une chaîne de caractères

Entrée du problème

Pas de donnée d'entrée

Formulaire de réponse

Vous devez être connecté pour pouvoir répondre aux défis

Tags : algorithmique récursivité cup19 level4