#736
Codif
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 2
k
. 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 | #49451320 | Utilizator | |
Fișier | codif.cpp | Dimensiune | 1.45 KB |
Data încărcării | 02 Martie 2024, 12:41 | Scor / rezultat | Eroare de compilare |
codif.cpp: In function 'int main()': codif.cpp:67:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i < total.size(); i++) ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from codif.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::basic_string<char>*, std::vector<std::basic_string<char> > >; _Tp = std::basic_string<char>; _Compare = int (*)(std::basic_string<char>&, std::basic_string<char>&)]': /usr/include/c++/4.8/bits/stl_algo.h:2296:78: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::basic_string<char>*, std::vector<std::basic_string<char> > >; _Compare = int (*)(std::basic_string<char>&, std::basic_string<char>&)]' /usr/include/c++/4.8/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::basic_string<char>*, std::vector<std::basic_string<char> > >; _Size = int; _Compare = int (*)(std::basic_string<char>&, std::basic_string<char>&)]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::basic_string<char>*, std::vector<std::basic_string<char> > >; _Compare = int (*)(std::basic_string<char>&, std::basic_string<char>&)]' codif.cpp:65:41: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: invalid initialization of reference of type 'std::basic_string<char>&' from expression of type 'const std::basic_string<char>' while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: invalid initialization of reference of type 'std::basic_string<char>&' from expression of type 'const std::basic_string<char>' while (__comp(__pivot, *__last)) ^
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ă.