Detalii evaluare #50657019

Rezumat problemă

#1215 Mesaj

În țara lui Piticot cuvintele au doar două litere, prima fiind o majusculă (literă mare) iar a doua o minusculă (literă mică). Piticii Mi și Gi se distrează și își trimit mesaje ascunzând cuvintele în cadrul unor secvențe transmise sub forma unor șiruri de litere. Piticul Mi scrie și trimite un mesaj piticului Gi respectând următoarele reguli:

  • un mesaj conține una sau mai multe secvențe;
  • orice literă care apare în mesaj, de cel puțin două ori, pe poziții alăturate, este numită terminator;
  • o secvență se încheie când s-a întâlnit o succesiune de litere terminator;
  • cuvântul este format din prima majusculă și ultima minusculă din secvență, fără a lua în seamă litera terminator a secvenței;
  • o secvență ascunde un cuvânt dacă terminatorul său se repetă de exact două ori și dacă conține cel puțin o literă mare și o literă mică, ignorând terminatorul de secvență;
  • costul unui cuvânt este egal cu numărul total de apariții al celor două litere din care este format, în cadrul secvenței în care a fost ascuns, luând în considerare inclusiv literele terminator.

De exemplu secvența s f u E e t R u E E ascunde un cuvânt deoarece conține și majuscule și minuscule, iar litera terminator de secvență, E, se repetă de exact două ori. Secvența ascunde cuvântul Eu, iar costul cuvântului este 5 (3 litere E + 2 două litere u).

La primirea mesajului, piticul Gi determină, pentru fiecare majusculă, costul maxim al cuvintelor care încep cu aceasta.

Scrieţi un program care determină:

1) numărul de secvențe trimise care nu ascund cuvinte;
2) cuvintele din mesaj, în ordinea în care au fost trimise de piticul Mi;
3) pentru fiecare majusculă, câte cuvinte care încep cu ea au costul maxim determinat de Gi.

Detalii

Problema Mesaj Operații I/O mesaj.in/mesaj.out
Limita timp 0.5 secunde Limita memorie Total: 1 MB / Stivă 1 MB
Id soluție #50657019 Utilizator D V (dvisoiu)
Fișier mesaj.cpp Dimensiune 5.84 KB
Data încărcării 18 Aprilie 2024, 20:13 Scor / rezultat 0 puncte

Evaluare


Mesaj compilare

mesaj.cpp: In function 'int main()':
mesaj.cpp:50:14: warning: variable 'caracter_terminare' set but not used [-Wunused-but-set-variable]
         char caracter_terminare = 0;

              ^
mesaj.cpp:52:14: warning: variable 'prima_maj' set but not used [-Wunused-but-set-variable]
         char prima_maj = 0;

              ^
mesaj.cpp:53:14: warning: variable 'ultima_min' set but not used [-Wunused-but-set-variable]
         char ultima_min = 0;

              ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0 secunde Caught fatal signal 11 5 0
1 0 secunde Caught fatal signal 11 5 0
2 0 secunde Caught fatal signal 11 5 0
3 0 secunde Caught fatal signal 11 5 0
4 0 secunde Caught fatal signal 11 5 0
5 0 secunde Caught fatal signal 11 5 0
6 0 secunde Caught fatal signal 11 5 0
7 0 secunde Caught fatal signal 11 5 0
8 0 secunde Caught fatal signal 11 5 0
9 0 secunde Caught fatal signal 11 5 0
10 0 secunde Caught fatal signal 11 5 0
11 0 secunde Caught fatal signal 11 5 0
12 0 secunde Caught fatal signal 11 5 0
13 0 secunde Caught fatal signal 11 5 0
14 0 secunde Caught fatal signal 11 5 0
15 0 secunde Caught fatal signal 11 5 0
16 0 secunde Caught fatal signal 11 5 0
17 0 secunde Caught fatal signal 11 5 0
18 0 secunde Caught fatal signal 11 5 0
19 0 secunde Caught fatal signal 11 5 0
Punctaj total 0

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