Keep Talking and Nobody Explodes là một trò chơi nhiều người chơi địa phương nơi một người chơi có quyền điều khiển một "quả bom" ảo, và phải được hướng dẫn bởi một người chơi khác, "chuyên gia", người có quyền truy cập vào sổ tay chống bom. Một trong những mô-đun được giải giáp trong trò chơi là mô-đun bàn phím, đây là điều chúng tôi sẽ giải quyết trong thử thách này.
Nhiệm vụ
Đầu vào sẽ bắt đầu bằng một dòng ký tự ASCII có thể in được, ngoại trừ khoảng trắng (0x21 đến 0x7E). Chúng đại diện cho các nút bàn phím hiển thị cho bạn.
Một vài dòng tiếp theo sẽ đại diện cho "khóa" - chỉ một dòng sẽ chứa tất cả các ký tự của dòng đầu tiên, không nhất thiết phải theo thứ tự. Nhiệm vụ của bạn là xuất các ký tự bàn phím, theo thứ tự của dòng khóa phù hợp.
Ví dụ: nếu đầu vào là
5~Fy
HrD7K!#}
Ui%^fHnF
)Tf;y~I5
~Fi(&5gy
,'Xd#5fZ
sau đó các nút bàn phím là 5
, ~
, F
và y
. Chỉ dòng khóa thứ 4 ~Fi(&5gy
chứa tất cả các ký tự này, vì vậy chúng tôi xuất các ký tự bàn phím theo thứ tự xuất hiện, nghĩa là ~F5y
.
Quy tắc và làm rõ
- Đầu vào phải là một chuỗi nhiều dòng đơn, với các nút bàn phím và các dòng phím trên các dòng riêng biệt.
- Sẽ có chính xác một dòng khóa chứa tất cả các ký tự bàn phím.
- Mỗi dòng, tức là dòng bàn phím ban đầu và các dòng chính sau, sẽ không có ký tự trùng lặp.
- Không giống như trò chơi, bạn không được thừa nhận bất cứ điều gì về số lượng ký tự bàn phím, độ dài của mỗi dòng phím hoặc số dòng phím. Tuy nhiên, tất cả các dòng chính được đảm bảo có cùng độ dài.
- Đầu ra có thể chứa một dòng mới tùy chọn duy nhất. Tương tự như vậy, bạn có thể giả sử một trong hai cách về một dòng mới tùy chọn trong đầu vào, nhưng vui lòng chỉ định trong câu trả lời của bạn nếu bạn cần giả định.
- Mặc dù điều này dường như đã trở thành thông lệ , nhưng tôi sẽ nói rõ: chấm dứt một lỗi là ổn đối với thử thách này, miễn là đầu ra STDOUT là chính xác (nếu đây là hình thức đầu ra bạn chọn). Hy vọng điều này sẽ làm cho việc xử lý đầu vào dễ dàng hơn.
Các trường hợp thử nghiệm
7
4?j01C3"ch
KP.OG>QB)[
z#)Kn"I2&.
]#,D|sBFy5
Qzj*+~7DLP
Đầu ra : 7
. Chỉ dòng cuối cùng chứa 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
Đầu ra : 0b~
. Dòng khóa thứ 4 đã chứa các ký tự theo đúng thứ tự.
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
Đầu ra : zTuM
. Dòng khóa là cái thứ 4, mặc dù dòng khóa thứ 3 là một lỗi gần.
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
Đầu ra : n1j@o<G
. Dòng chính là dòng cuối cùng thứ hai.
Chấm điểm
Đây là mã golf , vì vậy mã trong ít byte nhất sẽ thắng.