Tri à la Josèphe

Ce défi est tiré de c0d1ngUP 2014

Voilà une bien curieuse façon de trier les objets par couleur (qui ne trie en fait rien du tout). Le même processus est répété :

  • Mettre le premier ballon (le bleu) dans la pile du bas (image B)
  • Prendre les deux ballons suivants (jaunes) et les remettre en fin de file (image C)
  • Mettre le premier ballon dans la pile du milieu (image D)
  • Prendre les deux ballons suivants et les remettre en fin de file (image E)
  • Mettre le premier ballon dans la pile du haut (image F)
  • Prendre les deux ballons suivants et les remettre en fin de file (image G)
  • Reprendre à la première étape (image H et suivantes...)

Au bout d'un moment, on se retrouvera dans la situation de l'image R, juste après avoir mis un ballon dans la pile du haut. On sort alors deux nouveaux ballons, le jaune et le rouge, tandis que le nouveau premier de la file (bleu) va dans la pile du bas (image S). On sort à nouveau deux ballons (image T), et le suivant (le jaune qui vient de faire un tour complet) va dans la pile du milieu (image U). On sort un premier ballon (il n'en reste qu'un) qu'on replace en fin de file (images V et W). Puisqu'il faut sortir deux ballons, on recommence (et c'est le même qui refait un tour complet, sur les images X et Y). Puis on place un ballon dans la pile du haut (image Z).

Finalement, les ballons se retrouvent rangés par couleur.

On peut donc dire qu'avec une file de départ (image A) composée des couleurs BJJJJRRRBBBR (B est mis pour bleu, J pour jaune et R pour rouge) et en renvoyant à chaque fois 2 ballons en fin de file, la procédure précédente a pour effet de classer les ballons par couleur. Bien entendu, cette procédure ne fonctionne que parce que l'ordre des ballons au départ, qui semble aléatoire, a en fait été bien choisi.

Défi :

Dans quel ordre faut-il mettre 66 ballons, pour que, en appliquant la procédure précédente, mais en renvoyant entre chaque ballon trié 4 ballons en fin de file (au lieu de 2 dans l'exemple), les ballons soient finalement classés par couleur ? Les bleus en bas, les jaunes au milieu et les rouges en haut ? Vous devez donner une chaîne de caractères contenant 66 caractères B, J ou R

Testez votre code :

dans le cas de 12 ballons, si on en renvoyait 4 en fin de file à chaque fois, la réponse à donner serait BJJBBJRRRBRJ.

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.