IJK ! Raiponce a besoin de votre aide face à un problème complexe. En voulant rédiger un texte, elle s’est emmêlée dans ses tresses. Quelle question trouve-t-on avec le texte original et quelle est la réponse à celle-ci ?
Indice: IJK! -> ce qui fait penser à des permutations. Il y en aurait 3 à priori, dont 2 dessinées.
Voir programme de décodage associé
En regardant le texte codé, on peut voir tout de suite que le texte est en majuscule, sauf pour certaines lettres minuscules qui sont justement i, j et k. Comme les permutations i et j travaillent sur 8 lettres, l'idée de départ semble être qu'une lettre minuscule indique la permutation à employer pour les 8 lettres suivantes.
En décodant de la sorte Perm_i (iAOPCNREI) et Perm_j (IEOACPRN), on obtient ONCERAIP et ONCERAIP, ce qui semble indiquer que les permutations indiquées ne sont pas tout à fait correctes et doivent être réarrangées.
Ensuite on se rend compte que dans les 8 lettres à décoder peuvent se trouver d'autres i, j, k. Par exemple, Perm_i (AjCEOLiN) donne LANCjOEi. Cela semble être le début d'un "lance-moi ta chevelure". On peut alors supposer qu'il ne faut prendre que les premières lettres, s'arrêter, et redémarrer avec 8 nouvelles lettres après le j. En procédant de la sorte, cela semble fonctionner un temps. Voici le résultat du programme de décodage:
Decoding [AOPCNREI] with perm i --> [RAIPONCE] --> [RAIPONCE]
Decoding [IEOACPRN] with perm j --> [RAIPONCE] --> [RAIPONCERAIPONCE]
Decoding [AjCEOLiN] with perm i --> [LANCjOEi] --> [RAIPONCERAIPONCELANC]
Decoding [OEiMUIEA] with perm j --> [EMOIiAUE] --> [RAIPONCERAIPONCELANCEMOI]
Decoding [AUEHETRj] with perm i --> [TAjEUEHR] --> [RAIPONCERAIPONCELANCEMOITA]
Decoding [EUEHRiCE] with perm j --> [CHEiEERU] --> [RAIPONCERAIPONCELANCEMOITACHE]
Decoding [EERUjVPj] with perm i --> [VEjREjUP] --> [RAIPONCERAIPONCELANCEMOITACHEVE]
Decoding [REjUPiLE] with perm j --> [LURijEPE] --> [RAIPONCERAIPONCELANCEMOITACHEVELUR]
Un nouveau problème surgit, car la chaine suivante à décoder est ijEPE..., ce qui peut conduire à deux interprétations:
- Soit on utilise la permutation i sur jEPE...
- Soit on fait passer EPE... à travers (i ET j) ou (j et i) l'un après l'autre.
Dernier problème, la permutation k n'est pas connue et arrive plus ou moins à cet endroit.
...
Enchainer les permutations semble fonctionner. Pour la permutation k, n'ayant pas d'autre idée, on peut imaginer que k(j(i())) est la permutation identité. Youhouu, ça semble fonctionner..., jusqu'à l'arrivée d'un -1 :-(
...
Inverser les lettres sur un -1 semble être la bonne tactique. Voici maintenant des -i venir. Ca c'est facile, il suffit de prendre la permutation inverse de i. Ca fonctionne jusqu'à trouver un 1. Bon, cette embûche là est facile, il suffit de l'ignorer. Ensuite vient même un -ij, ce qu'il faut visiblement interpréter comme -i(j()).
Après beaucoup d'efforts, plus aucun piège jetté lâchement sur le chemin. Voici le décodage complet:
Decoding [EPEEijkR] with perm ij --> [EEjiRkPE] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREE]
Decoding [RkPEIETS] with perm ji --> [STkREPEI] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREEST]
Decoding [REPEIiNU] with perm k --> [UNEREPiI] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREP]
Decoding [IjUCELRQ] with perm i --> [LIQUjECR] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQU]
Decoding [ECRCikE1] with perm j --> [ECEkR1iC] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECE]
Decoding [R1iCEk-L] with perm k --> [L-1RCikE] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECEL]
Decoding [RCikEkji] with perm w --> [EkjiRCik] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELE]
Decoding [RCikB-iD] with perm kji --> [B-iDRCik] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEB]
Decoding [DRCikEjU] with perm x --> [RkijEDUC] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBR]
Decoding [EDUCONTE] with perm kij --> [EDUCONTE] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTE]
Decoding [OjUD1MME] with perm z --> [DUM1EMjO] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUM]
Decoding [EMjOQNNk] with perm 1 --> [EMjOQNNk] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEM]
Decoding [OQNNkME-] with perm j --> [ENOMN-kQ] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMN]
Decoding [QRTOikiU] with perm z --> [OTkiUiRQ] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOT]
Decoding [UiRQkEEj] with perm ki --> [RjkiEQUE] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTR]
Decoding [EQUESkiT] with perm jki --> [EQUESkiT] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUES]
Decoding [TjTNiSE-] with perm ki --> [T-ijENTS] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUEST]
Decoding [ENTSjLOI] with perm xj --> [IONESTLj] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTL]
Decoding [VANkASUI] with perm jik --> [ASUIVANk] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVAN]
Decoding [ELESTEQU] with perm kji --> [TEQUELES] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELES]
Decoding [MTkELOND] with perm x --> [TLENOMDk] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMD]
Decoding [U-kEjRBV] with perm kij --> [U-kEjRBV] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDU]
Decoding [EjRBVAE1] with perm z --> [BRAV1EjE] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAV]
Decoding [EjEAAHDV] with perm 1 --> [EjEAAHDV] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVE]
Decoding [EAAHDVCL] with perm j --> [CHEVALDA] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDA]
Decoding [MISNELik] with perm z --> [NSLEkiIM] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLE]
Decoding [IMFALjRI] with perm ki --> [FILMRAIj] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLEFILMRAI]
Decoding [PkiDjOEi] with perm jki --> [PkiDjOEi] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLEFILMRAIP]
Decoding [DjOEiED-] with perm ki --> [O-ijDEDE] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLEFILMRAIPO]
Decoding [DEDEijCN] with perm xj --> [NCEDEDji] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLEFILMRAIPONCEDED]
Decoding [SO-iIkji] with perm jik --> [IkjiSO-i] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLEFILMRAIPONCEDEDI]
Decoding [SO-iSNEY] with perm kji --> [SNEYSO-i] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLEFILMRAIPONCEDEDISNEYSO]
Decoding [IRNikTjE] with perm x --> [RkijTIEN] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLEFILMRAIPONCEDEDISNEYSOR]
Decoding [TIENMMX?] with perm kij --> [TIENMMX?] --> [RAIPONCERAIPONCELANCEMOITACHEVELUREESTUNEREPLIQUECELEBREDUCONTEDUMEMENOMNOTREQUESTIONESTLASUIVANTEQUELESTLENOMDUBRAVECHEVALDANSLEFILMRAIPONCEDEDISNEYSORTIENMMX?]
La réponse est bien évidemment Maximus