Keep Talking and Nobody Explodes é um jogo multiplayer local onde um jogador tem controle sobre uma "bomba" virtual e precisa ser guiado por outro jogador, o "especialista", que tem acesso a um manual de desarmamento de bombas. Um dos módulos a serem desarmados no jogo é o módulo do teclado, com o qual lidaremos neste desafio.
A tarefa
A entrada começará com uma única linha de caracteres ASCII imprimíveis, exceto o espaço (0x21 a 0x7E). Eles representam os botões do teclado visíveis para você.
As próximas linhas representam "chaves" - apenas uma linha conterá todos os caracteres da primeira linha, não necessariamente em ordem. Sua tarefa é produzir os caracteres do teclado, na ordem da linha de teclas correspondente.
Por exemplo, se a entrada foi
5~Fy
HrD7K!#}
Ui%^fHnF
)Tf;y~I5
~Fi(&5gy
,'Xd#5fZ
em seguida, os botões do teclado são 5
, ~
, F
e y
. Somente a quarta linha da tecla ~Fi(&5gy
contém todos esses caracteres, portanto, os caracteres do teclado são exibidos na ordem em que aparecem, ou seja ~F5y
.
Regras e esclarecimentos
- A entrada deve ser uma única cadeia de linhas múltiplas, com os botões do teclado e as linhas das teclas em linhas separadas.
- Haverá exatamente uma linha de tecla que contém todos os caracteres do teclado.
- Cada linha, ou seja, a linha inicial do teclado e as seguintes linhas principais, não terão caracteres duplicados.
- Ao contrário do jogo, você não pode assumir nada sobre o número de caracteres do teclado, o comprimento de cada linha ou o número de linhas. No entanto, é garantido que todas as linhas principais tenham o mesmo comprimento.
- A saída pode conter uma única nova linha à direita opcional. Da mesma forma, você pode assumir de qualquer maneira uma nova linha à direita opcional na entrada, mas especifique na sua resposta se você precisa da suposição.
- Embora isso já pareça uma prática comum , declararei explicitamente: encerrar com um erro é aceitável para esse desafio, desde que a saída STDOUT esteja correta (se essa for a forma de saída escolhida). Espero que isso facilite o manuseio da entrada.
Casos de teste
7
4?j01C3"ch
KP.OG>QB)[
z#)Kn"I2&.
]#,D|sBFy5
Qzj*+~7DLP
Saída: 7
. Somente a última linha contém 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
Saída : 0b~
. A quarta linha-chave já contém os caracteres na ordem correta.
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
Saída : zTuM
. A linha principal é a quarta, embora a terceira linha principal seja um erro grave.
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
Saída :n1j@o<G
. A linha da chave é a segunda última linha.
Pontuação
Isso é código-golfe , então o código com o menor número de bytes vence.