Detalii evaluare #49819328

Rezumat problemă

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.

Detalii

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 #49819328 Utilizator Pop Denis (Mrguny)
Fișier criptare2.cpp Dimensiune 2.38 KB
Data încărcării 15 Martie 2024, 19:27 Scor / rezultat 83 puncte

Evaluare


Mesaj compilare

criptare2.cpp: In function 'int ps(std::string, int)':
criptare2.cpp:18:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i=0; i<s.size(); i++)

                                ^
criptare2.cpp:25:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i=0; i < ss.size(); i++)

                                   ^
criptare2.cpp:39:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (int i=0; i < ss.size()-1; i++)

                                         ^
criptare2.cpp:41:50: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for (int j = 0; j < ss[i].size()-1; j++)

                                                  ^
criptare2.cpp:43:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                     for (int k = j+1; k < ss[i].size(); k++)

                                                      ^
criptare2.cpp:47:58: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                             for(int h = i+1; h < ss.size(); h++)

                                                          ^
criptare2.cpp:65:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int j=0; j<s.size(); j++)

                               ^
criptare2.cpp:71:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0; i<s.size()-1; i++)

                                 ^
criptare2.cpp:73:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int j=0; j<s.size(); j++)

                                   ^
criptare2.cpp:81:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }

 ^
criptare2.cpp:33:12: warning: 'si' may be used uninitialized in this function [-Wmaybe-uninitialized]
         s3 += (char)(si+48);

            ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde OK. 5 5
2 0 secunde OK. 5 5
3 0 secunde OK. 5 5
4 0 secunde OK. 5 5
5 0 secunde OK. 5 5
6 0 secunde OK. 5 5
7 0 secunde OK. 5 5
8 0 secunde Raspuns gresit. 5 0
9 0 secunde OK. 6 6
10 0.04 secunde OK. 6 6
11 0.016 secunde OK. 6 6
12 0.012 secunde OK. 6 6
13 0 secunde Raspuns gresit. 6 0
14 0 secunde OK. 6 6
15 0 secunde Raspuns gresit. 6 0
16 0 secunde OK. 6 6
17 0 secunde OK. 6 6
18 0 secunde OK. 6 6
Punctaj total 83

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema criptare2 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.