.. -. / ... . .. ..-. / -. ..- / . .-. .- / .- -... ... --- .-.. ..- - / -. .. -- .. -.-.
După peripețiile din viitor, Buzdi a decis că ar fi mai bine, de data aceasta, să plece în trecut. Mașina de călătorit în timp avea, totuși, o defecțiune, astfel încât acesta nu știa unde și în ce perioadă va ajunge. Din această cauză, după ce a folosit mașina de călătorit în timp, acesta a ajuns într-o încăpere, în care se afla un seif și o masă cu o foaie pe aceasta. Pe seif scria Top Secret
, iar pe foaie se afla tabelul Codului Morse Internațional.
După ce a citit tabelul de pe foaie, Buzdi s-a dus la seif și a observat că sub Top Secret
se afla un șir de caractere ce conținea numai caracterele .-/
și spații, reprezentând codificarea unui șir de caractere folosind Codul Morse Internațional astfel:
- Caracterul
.
reprezintă punctul (dot) din tabel. - Caracterul
-
reprezintă dreptunghiul / linia (dash) din tabel. - Caracterele
.
și-
, așezate consecutiv, formează o literă mare conform tabelului. - Caracterul 'spațiu' reprezintă sfârșitul unui cuvânt.
- Caracterul
/
reprezintă spațiul dintre două cuvinte. Acesta va fi urmat întotdeauna de caracterul 'spațiu' și de cel puțin un alt cuvânt.
De exemplu, dacă .- / -... . / -.-. .
, atunci, după decodificarea acestui șir, A BE CE
.
Cerință
Buzdi a observat două căsuțe în care trebuia să introducă niște informații pentru ca seiful să se deschidă. Acesta considera că, dacă va introduce informațiile corect, acesta va găsi în interior un mare secret al omenirii, însă călătoria în timp i-a diminuat foarte mult capacitatea de a gândi. Așa că, fiind blocat, vă roagă pe voi să determinați următoarele informații:
- Numărul de cuvinte pe care le va avea șirul după decodificarea acestuia.
- Șirul după decodificarea acestuia.
Date de intrare
Pe prima linie se află un număr natural , reprezentând tipul informației pe care trebuie să îl determinați. Pe următoarea linie se află un șir de caractere , reprezentând codificarea unui șir de caractere folosind Codul Morse Internațional.
Date de ieșire
Dacă , atunci pe prima linie se va afla un număr natural, reprezentând informația determinată pentru primul tip.
Dacă , atunci pe prima linie se va afla un șir de caractere, reprezentând informația determinată pentru al doilea tip.
Restricții și precizări
- Fie lungimea șirului de caractere .
- .
- Se consideră ca fiind cuvânt orice înșiruire de litere și cifre consecutiv.
- Se garantează că șirul decodificat va conține cel puțin un cuvânt și va conține doar caractere ce se regăsesc în tabelul Codului Morse Internațional (litere din alfabetul latin și cifre).
- Se garantează că este codificat corect, folosind tabelul Codului Morse Internațional.
- Pentru citirea și afișarea rapidă, se recomandă folosirea acestor linii de cod la începutul funcției
main
:
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
# | Punctaj | Restricții |
---|---|---|
0 | 0 | Exemplele |
1 | 31 | |
2 | 10 | și șirul decodificat va conține o singură cifră |
3 | 17 | și șirul decodificat va conține un singur cuvânt |
4 | 42 |
Exemplul 1
stdin
2
.- / -... . / -.-. .
stdout
A BE CE
Exemplul 2
stdin
1
.- / -... . / -.-. .
stdout
3
Exemplul 3
stdin
2
..-. ..- - ..- .-. . / ..-. --- .-. / ..-. ..- - ..- .-. . / ..--- ----- ..--- .....
stdout
FUTURE FOR FUTURE 2025
Exemplul 4
stdin
1
..-. ..- - ..- .-. . / ..-. --- .-. / ..-. ..- - ..- .-. . / ..--- ----- ..--- .....
stdout
4