#4583
criptare2
Ana și Bogdan sunt pasionați de criptarea mesajelor. Ei au studiat mai multe metode de criptare. Ultimul algoritm pe care l-au studiat presupune să scrie un cuvânt cu litere mari ale alfabetului englez. Apoi, sub acest cuvânt să scrie toate permutările sale circulare cu o poziție spre stânga obținând astfel o matrice de caractere. Ordonează lexicografic liniile matricii, memorează ultima coloană și adaugă la finalul șirului astfel obținut numărul liniei pe care a ajuns cuvântul inițial, șirul rezultat fiind denumit cript-ul șirului inițial. Analizând matricea de caractere obținută ei au observat că în matrice se obțin submatrici cu proprietatea că în cele patru colțuri ale lor se află același caracter. Să se scrie un program care citește un număr natural c
, reprezentând cerința care trebuie să fie rezolvată, apoi citește un cuvânt. Programul rezolvă următoarele cerințe:
1. Dacă c = 1
, șirul citit este un cuvânt necriptat, programul va determina și va afișa cript-ul obținut conform algoritmului descris anterior.
2. Dacă c = 2
, șirul citit este un cript, programul va determina și va afișa cuvântul necriptat.
3. Dacă c = 3
, șirul citit este un cuvânt necriptat, programul va determina matricea de caractere obținută conform algoritmului descris anterior și va afișa numărul maxim de elemente dintr-o submatrice cu proprietatea că în colțurile sale se află același caracter.
Problema | criptare2 | Operații I/O |
criptare.in /criptare.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 2 MB
|
Id soluție | #53717062 | Utilizator | |
Fișier | criptare2.cpp | Dimensiune | 3.19 KB |
Data încărcării | 09 Noiembrie 2024, 14:43 | Scor / rezultat | Eroare de compilare |
criptare2.cpp: In function 'bool compare(std::string, std::string)': criptare2.cpp:10:11: error: 'std::string' has no member named 'name' return a.name <= b.name; ^ criptare2.cpp:10:21: error: 'std::string' has no member named 'name' return a.name <= b.name; ^ criptare2.cpp: In function 'int main()': criptare2.cpp:48:13: warning: unused variable 'originalIndex' [-Wunused-variable] int originalIndex = crypt.back() - '0'; ^ criptare2.cpp: In function 'bool compare(std::string, std::string)': criptare2.cpp:11:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema criptare2 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ă.