Röksignaler | 프로그래밍의 벗 PivotOJ
PivotOJ

Röksignaler

시간 제한: 1000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2017 — onlinekvalBOJ 20882
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

[이미지 1]

Figure 1: Morsealfabetet

Din kompis är ute på en polarexpedition, och för att hålla kontakten skickar hon röksignaler kodade med morse. Du tycker det är jobbigt att lära dig morsealfabetet utantill, och vill därför skriva ett program som översätter signalen åt dig. Indata är en sträng av ettor och nollor, där en sekvens av ettor motsvarar ett rökmoln. Rökmoln motsvarar streck och prickar, och tomrum motsvarar pauser mellan streck och punkter, bokstäver och mellanslag.

입력

De första 2626 raderna innehåller en tabell över morsekoden för alla bokstäver. Varje sådan rad innehåller en stor bokstav (A-Z), ett mellanslag, och sedan morsekodningen för den bokstaven.

Efter tabellen följer en rad med två olika heltal: SS och PP. SS är antalet ettor som utgör ett streck, och PP är antalet ettor som utgör en punkt.

Därefter kommer en rad med tre olika heltal: TT, BB och MM. TT nollor utgör en paus mellan punkt och streck, BB nollor signalerar ny bokstav och MM nollor är ett mellanslag.

Till sist kommer en rad som innehåller talet NN, följt av en NN bokstäver lång sträng av ettor och nollor.

출력

Din program ska skriva ut en rad som innehåller det avkodade meddelandet.

예제

예제 1

입력
A .-
B -...
C -.-.
D -..
E .
F ..-.
G --.
H ....
I ..
J .---
K -.-
L .-..
M --
N -.
O ---
P .--.
Q --.-
R .-.
S ...
T -
U ..-
V ...-
W .--
X -..-
Y -.--
Z --..
3 1
1 2 3
25 1010101001001011101110111
출력
HEJ

예제 2

입력
A .-
B -...
C -.-.
D -..
E .
F ..-.
G --.
H ....
I ..
J .---
K -.-
L .-..
M --
N -.
O ---
P .--.
Q --.-
R .-.
S ...
T -
U ..-
V ...-
W .--
X -..-
Y -.--
Z --..
3 5
5 3 4
846 111110000011111000111000001110000111000111110000011100000111110001111100000111000111110000011100000111000001111100011111000001110000011100000111110001111100011100000111110000011111000011111000001111100011100000111110000111110000011100001111100000111110000011111000001110001111100011111000001110000011111000111000001111100000111000001110000111000001111100000111000001111100011100000111000001110001110000011100000111110000011111000111000001111100000111000001110000111000001111100000111000001111100011111000001110001110000011111000001111100000111110001111100000111110001110000011111000011100000111110000011111000111000001110000011100011100000111110001110000111110000011111000001111100011111000111000001111100011100000111110000011111000011111000001111100000111110000011111000111110001111100000111000001111100000111110001111100000111000001110000011111
출력
IM TRAPPED IN A VERY COZY CABIN DONT SEND HELP
코드를 제출하려면 로그인하세요.