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. กุญแจสำคัญคือกุญแจดอกที่ 4 ถึงแม้ว่ากุญแจดอกที่ 3 จะพลาดไป
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. บรรทัดสำคัญคือบรรทัดสุดท้ายที่สอง
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟดังนั้นโค้ดในจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ

