Keep Talking and Nobody Explodes est un jeu multijoueur local où un joueur a le contrôle d'une "bombe" virtuelle, et doit être guidé par un autre joueur, "l'expert", qui a accès à un manuel de désamorçage de bombe. L'un des modules à désarmer dans le jeu est le module clavier, c'est ce que nous allons traiter dans ce défi.
La tâche
L'entrée commencera par une seule ligne de caractères ASCII imprimables à l'exception de l'espace (0x21 à 0x7E). Ils représentent les boutons du clavier visibles pour vous.
Les quelques lignes suivantes représenteront des "clés" - une seule ligne contiendra tous les caractères de la première ligne, pas nécessairement dans l'ordre. Votre tâche consiste à sortir les caractères du clavier, dans l'ordre de la ligne de touches correspondante.
Par exemple, si l'entrée était
5~Fy
HrD7K!#}
Ui%^fHnF
)Tf;y~I5
~Fi(&5gy
,'Xd#5fZ
puis les touches du clavier sont 5
, ~
, F
et y
. Seule la 4ème ligne de touche ~Fi(&5gy
contient tous ces caractères, nous sortons donc les caractères du clavier dans l'ordre dans lequel ils apparaissent, c'est-à-dire ~F5y
.
Règles et clarifications
- L'entrée doit être une seule chaîne multiligne, avec les touches du clavier et les lignes de touches sur des lignes distinctes.
- Il y aura exactement une ligne de touches contenant tous les caractères du clavier.
- Chaque ligne, c'est-à-dire la ligne initiale du clavier et les lignes de touches suivantes, n'aura pas de caractères en double.
- Contrairement au jeu, vous ne pouvez rien supposer du nombre de caractères du clavier, de la longueur de chaque ligne de touche ou du nombre de lignes de touche. Cependant, toutes les lignes clés sont garanties pour avoir la même longueur.
- La sortie peut contenir une seule nouvelle ligne de fin facultative. De même, vous pouvez supposer dans les deux cas un retour à la ligne facultatif dans l'entrée, mais veuillez spécifier dans votre réponse si vous avez besoin de l'hypothèse.
- Bien que cela semble déjà être une pratique courante , je dirai explicitement: terminer avec une erreur est correct pour ce défi, tant que la sortie STDOUT est correcte (si c'est la forme de sortie que vous avez choisie). Espérons que cela facilitera la gestion des entrées.
Cas de test
7
4?j01C3"ch
KP.OG>QB)[
z#)Kn"I2&.
]#,D|sBFy5
Qzj*+~7DLP
Sortie: 7
. Seule la dernière ligne contient un 7
.
0b~
Ob+hy{M|?;>=dtszPAR5
*8rCfsw|3O9.7Yv^x>Hq
$ip.V@n}|La:TbIt^AOF
jZ[Ec4s0|%b*$id',~J6
z*#b}-x$Ua&!O2;['T+?
NVj_X8rlhxfnS\.z}];c
bykscf.w^dnWj+}-*2g_
VP`AJH|&j5Yqmw/"9IMc
Sortie : 0b~
. La 4ème ligne clé contient déjà les caractères dans le bon ordre.
MTuz
bIAr>1ZUK`s9c[tyO]~W
oMGIi/H&V"BeNLua%El=
j*uYbplT:~);BM|_mPZt
Q}z5TC@=6pgr<[&uJnM%
YOA(F~_nH6T{%B7[\u#5
y&t"8zQn{wo5[Idu4g:?
[0tZG"-fm!]/|nqk,_2h
dA&C.+(byo6{7,?I}D@w
Sortie : zTuM
. La ligne clé est la 4ème, bien que la 3ème ligne clé soit un échec serré.
o@nj<G1
f]?-<I6h2vS*%l=:}c8>LK5rMdyeon,;sE[@m(73
ibhp+2Hq6yKzIf_Zo}EO3-[*0/e&Fvd]wQU=|%`C
;}>d'cg~CPtQG&%L\)MUl419bkTZ7@]:[*H"RyYj
L^<:zXJ#kj$EFlwN%B`Dd,Cs?]xRZ*K9-uQ.@&f+
i1v'7:90R-l}FMxj`,DTWK+(n32Z4Vs[p@%*eS!d
B|^Ti/ZG$}ufL9*wE[AVt]P7CrX-)2JpD<sYxd6O
ex.$4#KarS^j+'_!B"]H[\83:(DCXUgI*Lct?qAR
^GXQoy*KW&v}n']Em~\N9)fxP(qC=7#4sRdcD6%5
;inr[&$1j_!F~@pzo#blv]}<'|fRds6OW%tEg"G2
e;0T#gfo^+!:xHDN&4V=In?AwhEv$2Fd~ZLz_\81
Sortie : n1j@o<G
. La ligne clé est l'avant-dernière ligne.
Notation
C'est du code-golf , donc le code dans le moins d'octets gagne.