Keep Talking and Nobody Explodes , bir oyuncunun sanal bir "bomba" üzerinde kontrolü olduğu ve bomba kullanım kılavuzuna erişimi olan başka bir oyuncu olan "uzman" tarafından yönlendirilmesi gereken yerel bir çok oyunculu oyundur. Oyunda silahsızlandırılacak modüllerden biri de tuş takımı modülü, bu da bu mücadelede ele alacağımız şey.
Görev
Giriş, boşluk (0x21 - 0x7E) dışında yazdırılabilir ASCII karakterlerinin tek bir satırıyla başlayacaktır. Bunlar, size görünür olan tuş takımı düğmelerini temsil eder.
Sonraki birkaç satır "anahtarları" temsil edecektir - yalnızca bir satır ilk satırın tüm karakterlerini içerecektir, sıraya göre değil. Göreviniz, tuş takımı karakterlerini, eşleşen tuş sırasına göre çıkarmaktır.
Örneğin, giriş
5~Fy
HrD7K!#}
Ui%^fHnF
)Tf;y~I5
~Fi(&5gy
,'Xd#5fZ
Daha sonra tuş takımı düğmeleri vardır 5
, ~
, F
vey
. Yalnızca 4. anahtar satırı ~Fi(&5gy
tüm bu karakterleri içerir, bu nedenle tuş takımı karakterlerini göründükleri sırayla çıkarırız, yani ~F5y
.
Kurallar ve açıklamalar
- Giriş, tuş takımı düğmeleri ve tuş çizgileri ayrı satırlarda olacak şekilde çok satırlı tek bir dize olmalıdır.
- Tüm tuş takımı karakterlerini içeren tam olarak bir tuş satırı olacaktır.
- Her satırın, yani ilk tuş takımı satırının ve sonraki anahtar satırların yinelenen karakterleri olmayacaktır.
- Oyunun aksine, tuş takımı karakter sayısı, her tuş satırının uzunluğu veya tuş satırı sayısı hakkında hiçbir şey varsaymayabilirsiniz. Ancak, tüm kilit hatların aynı uzunlukta olması garanti edilir.
- Çıktı, isteğe bağlı tek bir satırsonu satırı içerebilir. Benzer şekilde, girdideki isteğe bağlı bir son satır hakkında her iki şekilde de varsayabilirsiniz, ancak varsayım gerekiyorsa lütfen yanıtınızda belirtin.
- Bu zaten yaygın bir uygulama gibi görünse de , açıkça belirteceğim: STDOUT çıktısı doğru olduğu sürece (bu, seçtiğiniz çıktı biçiminizse) bir hata ile sonlandırmak bu meydan okuma için uygundur. İnşallah bu girişin kullanımını kolaylaştırır.
Test senaryoları
7
4?j01C3"ch
KP.OG>QB)[
z#)Kn"I2&.
]#,D|sBFy5
Qzj*+~7DLP
Çıktı: 7
. Yalnızca son satırda bir 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
Çıktı : 0b~
. 4. anahtar satır zaten doğru sırada karakterler içeriyor.
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
Çıktı : zTuM
. Anahtar hat 4. olanıdır, ancak 3. anahtar hat bir özledim.
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
Çıktı : n1j@o<G
. Anahtar satır son ikinci satırdır.
puanlama
Bu kod golf , bu yüzden en az bayt kod kazanır.