Röksignaler
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.
Input
De första $26$ 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: $S$ och $P$. $S$ är antalet ettor som utgör ett streck, och $P$ är antalet ettor som utgör en punkt.
Därefter kommer en rad med tre olika heltal: $T$, $B$ och $M$. $T$ nollor utgör en paus mellan punkt och streck, $B$ nollor signalerar ny bokstav och $M$ nollor är ett mellanslag.
Till sist kommer en rad som innehåller talet $N$, följt av en $N$ bokstäver lång sträng av ettor och nollor.
Output
Din program ska skriva ut en rad som innehåller det avkodade meddelandet.
Poängsättning
Din lösning kommer att testas på en mängd testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.
Grupp |
Poängvärde |
Gränser |
Övrigt |
1 |
19 |
$S = 2, P = 1, T = 1, B = 2$, $1 \le N \le 200$ |
Inga mellanslag förekommer |
2 |
39 |
$1 \le S, P, T, B, M \le 10$, $1 \le N \le 2000$ |
Inga mellanslag förekommer |
3 |
25 |
$1 \le S, P, T, B, M \le 100$, $1 \le N \le 2000$ |
|
4 |
17 |
$1 \le S, P, T, B, M \le 1000$, $1 \le N \le 300\, 000$ |
Sample Input 1 | Sample Output 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 |
Sample Input 2 | Sample Output 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 |