Keep Talking and Nobody Explodes是一款本地多人游戏,其中一个玩家可以控制一个虚拟的“炸弹”,并且必须由另一位可以访问炸弹清除手册的玩家“专家”指导。键盘模块是游戏中需要解除的模块之一,这是我们将在此挑战中处理的模块。
任务
输入将以一行可打印的ASCII字符开始,除了空格(0x21至0x7E)。这些代表您可以看到的键盘按钮。
接下来的几行将代表“键”-只有一行包含第一行的所有字符,而不必按顺序排列。您的任务是按照匹配的按键行的顺序输出键盘字符。
例如,如果输入是
5~Fy
HrD7K!#}
Ui%^fHnF
)Tf;y~I5
~Fi(&5gy
,'Xd#5fZ
然后键盘按钮是5
,~
,F
和y
。只有第4个按键行~Fi(&5gy
包含所有这些字符,因此我们按出现的顺序输出键盘字符,即~F5y
。
规则和澄清
- 输入必须是单个多行字符串,键盘按钮和按键行应放在单独的行上。
- 仅有一个按键行,其中包含所有键盘字符。
- 每行,即初始键盘行和随后的按键行,将没有重复的字符。
- 与游戏不同,您可能不会假设键盘字符的数量,每条按键线的长度或按键线的数量。但是,保证所有关键线的长度相同。
- 输出可能包含单个可选的尾随换行符。同样,您可以对输入中的可选尾随换行符采用任意一种方式,但是如果需要,请在答案中指定。
- 尽管这似乎已经很普遍了,但我将明确指出:只要STDOUT输出正确(如果这是您选择的输出形式),就可以用错误终止此挑战。希望这将使输入的处理更加容易。
测试用例
7
4?j01C3"ch
KP.OG>QB)[
z#)Kn"I2&.
]#,D|sBFy5
Qzj*+~7DLP
输出: 7
。只有最后一行包含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
输出:0b~
。第4个按键行已包含正确顺序的字符。
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
输出:zTuM
。关键线是第四条,尽管第三条关键线很接近。
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
输出:n1j@o<G
。关键行是倒数第二行。
计分
这是code-golf,因此以最少字节为单位的代码获胜。