#736
Pentru scrierea mesajelor soldaţii dintr-o unitate militară folosesc 9 litere mici: a, e, i, o, u, m, n, r, s şi caracterul spaţiu. Aceste litere sunt codificate cu ajutorul cifrelor 1, 2, …, 9 (în ordinea de mai sus), iar pentru caracterul spaţiu se foloseşte cifra 0. Astfel codificarea textului ana are mere se poate realiza prin numărul natural 171018206282.
Pentru a mări gradul de securitate a mesajelor transmise soldaţii relizează o supracodificare, înlocuind fiecare cifră k folosită la codicare cu puterea 2k. Astfel textul anterior se supracodifică astfel: 2128212256416442564.
Să se scrie un program care pentru o supracodificare dată, determină textul iniţial. Dacă există mai multe astfel de texte se vor determina toate.
Lot Juniori, Alba Iulia, 2010
| Problema | Codif | Operații I/O |
codif.in/codif.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
| Id soluție | #50607656 | Utilizator | |
| Fișier | codif.cpp | Dimensiune | 1.12 KB |
| Data încărcării | 17 Aprilie 2024, 00:48 | Scor/rezultat | 100 puncte |
codif.cpp: In function 'void bkt(int, std::string)': codif.cpp:11:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if( p == s.size() ) { ^ codif.cpp:18:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while( j < p2.size() && j < s.size() && s[j + p] == p2[j] ) ^ codif.cpp:18:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while( j < p2.size() && j < s.size() && s[j + p] == p2[j] ) ^ codif.cpp:20:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if( j == p2.size() ) { ^ codif.cpp: In function 'int main()': codif.cpp:42:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for( i = 0 ; i < ans.size() ; i++ ) ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | OK. | 10 | 10 | ||
| 2 | 0 secunde | OK. | 10 | 10 | ||
| 3 | 0 secunde | OK. | 10 | 10 | ||
| 4 | 0 secunde | OK. | 10 | 10 | ||
| 5 | 0 secunde | OK. | 10 | 10 | ||
| 6 | 0 secunde | OK. | 10 | 10 | ||
| 7 | 0 secunde | OK. | 10 | 10 | ||
| 8 | 0 secunde | OK. | 10 | 10 | ||
| 9 | 0 secunde | OK. | 10 | 10 | ||
| 10 | 0 secunde | OK. | 10 | 10 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Codif face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.