Keep Talking and Nobody Explodes ist ein lokales Multiplayer-Spiel, bei dem ein Spieler die Kontrolle über eine virtuelle "Bombe" hat und von einem anderen Spieler geführt werden muss, dem "Experten", der Zugriff auf ein Handbuch zur Bombenentfernung hat. Eines der Module, die im Spiel deaktiviert werden müssen, ist das Tastaturmodul, mit dem wir uns in dieser Herausforderung befassen werden.
Die Aufgabe
Die Eingabe beginnt mit einer einzelnen Zeile druckbarer ASCII-Zeichen mit Ausnahme von Leerzeichen (0x21 bis 0x7E). Diese stellen die für Sie sichtbaren Tasten des Tastenfelds dar.
Die nächsten Zeilen stellen "Schlüssel" dar - nur eine Zeile enthält alle Zeichen der ersten Zeile, nicht unbedingt in der richtigen Reihenfolge. Ihre Aufgabe ist es, die Tastaturzeichen in der Reihenfolge der übereinstimmenden Tastenzeile auszugeben.
Zum Beispiel, wenn die Eingabe war
5~Fy
HrD7K!#}
Ui%^fHnF
)Tf;y~I5
~Fi(&5gy
,'Xd#5fZ
dann über die Tastatur - Tasten sind 5, ~, Fund y. Nur die 4. Tastenzeile ~Fi(&5gyenthält alle diese Zeichen, daher geben wir die Tastaturzeichen in der Reihenfolge aus, in der sie erscheinen, d ~F5y. H.
Regeln und Erläuterungen
- Die Eingabe muss aus einer einzigen mehrzeiligen Zeichenfolge bestehen, wobei die Tasten und Tastenzeilen der Tastatur in separaten Zeilen stehen.
- Es wird genau eine Tastenzeile geben, die alle Tastaturzeichen enthält.
- Jede Zeile, dh die erste Tastaturzeile und die folgenden Tastenzeilen, enthalten keine doppelten Zeichen.
- Im Gegensatz zum Spiel dürfen Sie nichts über die Anzahl der Tastaturzeichen, die Länge jeder Tastenzeile oder die Anzahl der Tastenzeilen annehmen. Es wird jedoch garantiert, dass alle Hauptleitungen gleich lang sind.
- Die Ausgabe kann eine einzelne optionale nachgestellte Newline enthalten. In ähnlicher Weise können Sie einen optionalen Zeilenumbruch in der Eingabe annehmen, aber geben Sie in Ihrer Antwort an, ob Sie die Annahme benötigen.
- Obwohl dies anscheinend bereits gängige Praxis ist , sage ich ausdrücklich: Die Beendigung mit einem Fehler ist für diese Herausforderung in Ordnung, solange die STDOUT-Ausgabe korrekt ist (sofern dies Ihre gewählte Ausgabeform ist). Hoffentlich erleichtert dies die Eingabe.
Testfälle
7
4?j01C3"ch
KP.OG>QB)[
z#)Kn"I2&.
]#,D|sBFy5
Qzj*+~7DLP
Ausgang: 7 . Nur die letzte Zeile enthält a 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
Ausgang : 0b~. Die 4. Tastenzeile enthält bereits die Zeichen in der richtigen Reihenfolge.
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
Ausgang : zTuM. Die Schlüsselzeile ist die 4., obwohl die 3. Schlüsselzeile ein enger Fehler ist.
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
Ausgabe :n1j@o<G . Die Schlüsselzeile ist die vorletzte Zeile.
Wertung
Das ist Code-Golf , also gewinnt der Code mit den wenigsten Bytes.

