#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:
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.
ONI GIM 2015, Clasa a V-a
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 | #50688036 | Utilizator | |
Fișier | mesaj.cpp | Dimensiune | 5.46 KB |
Data încărcării | 21 Aprilie 2024, 11:46 | Scor / rezultat | 60 puncte |
mesaj.cpp: In function 'int32_t main()': mesaj.cpp:124:32: warning: array subscript has type 'char' [-Wchar-subscripts] else {min++; minn[x]++;} ^ mesaj.cpp:142:38: warning: array subscript has type 'char' [-Wchar-subscripts] cost=cntp+minn[u]; ^ mesaj.cpp:144:40: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:144:50: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:144:64: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:145:46: warning: array subscript has type 'char' [-Wchar-subscripts] else if (cost==maxx[p]) answ[p]++; ^ mesaj.cpp:145:55: warning: array subscript has type 'char' [-Wchar-subscripts] else if (cost==maxx[p]) answ[p]++; ^ mesaj.cpp:149:39: warning: array subscript has type 'char' [-Wchar-subscripts] cost=cntp+minn[uu]; ^ mesaj.cpp:151:40: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:151:50: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:151:64: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:152:46: warning: array subscript has type 'char' [-Wchar-subscripts] else if (cost==maxx[p]) answ[p]++; ^ mesaj.cpp:152:55: warning: array subscript has type 'char' [-Wchar-subscripts] else if (cost==maxx[p]) answ[p]++; ^ mesaj.cpp:165:55: warning: array subscript has type 'char' [-Wchar-subscripts] if ('a'<=x&&'z'>=x) {min++; minn[x]++;} ^ mesaj.cpp:173:37: warning: array subscript has type 'char' [-Wchar-subscripts] cost=cntp+minn[u]; ^ mesaj.cpp:175:36: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:175:46: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:175:60: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:176:42: warning: array subscript has type 'char' [-Wchar-subscripts] else if (cost==maxx[p]) answ[p]++; ^ mesaj.cpp:176:51: warning: array subscript has type 'char' [-Wchar-subscripts] else if (cost==maxx[p]) answ[p]++; ^ mesaj.cpp:180:38: warning: array subscript has type 'char' [-Wchar-subscripts] cost=cntp+minn[uu]; ^ mesaj.cpp:182:36: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:182:46: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:182:60: warning: array subscript has type 'char' [-Wchar-subscripts] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:183:42: warning: array subscript has type 'char' [-Wchar-subscripts] else if (cost==maxx[p]) answ[p]++; ^ mesaj.cpp:183:51: warning: array subscript has type 'char' [-Wchar-subscripts] else if (cost==maxx[p]) answ[p]++; ^ mesaj.cpp:16:11: warning: variable 'll' set but not used [-Wunused-but-set-variable] char x,l,ll,p,u,uu; ^ mesaj.cpp:180:38: warning: 'uu' may be used uninitialized in this function [-Wmaybe-uninitialized] cost=cntp+minn[uu]; ^ mesaj.cpp:173:37: warning: 'u' may be used uninitialized in this function [-Wmaybe-uninitialized] cost=cntp+minn[u]; ^ mesaj.cpp:151:40: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized] if (cost>maxx[p]) {maxx[p]=cost; answ[p]=1;} ^ mesaj.cpp:171:43: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized] if (cnt==2&&min>0&&maj>0&&'A'<=l&&'Z'>=l) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0.028 secunde | OK. | 5 | 5 | ||
2 | 0.012 secunde | OK. | 5 | 5 | ||
3 | 0.032 secunde | OK. | 5 | 5 | ||
4 | 0.048 secunde | OK. | 5 | 5 | ||
5 | 0.14 secunde | OK. | 5 | 5 | ||
6 | 0.12 secunde | OK. | 5 | 5 | ||
7 | 0.048 secunde | OK. | 5 | 5 | ||
8 | 0.044 secunde | OK. | 5 | 5 | ||
9 | 0.136 secunde | OK. | 5 | 5 | ||
10 | 0.012 secunde | OK. | 5 | 5 | ||
11 | 0.012 secunde | OK. | 5 | 5 | ||
12 | 0.052 secunde | Caught fatal signal 11 | 5 | 0 | ||
13 | 0.048 secunde | Caught fatal signal 11 | 5 | 0 | ||
14 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
15 | 0.012 secunde | Caught fatal signal 11 | 5 | 0 | ||
16 | 0.04 secunde | Caught fatal signal 11 | 5 | 0 | ||
17 | 0.064 secunde | Caught fatal signal 11 | 5 | 0 | ||
18 | 0.024 secunde | Caught fatal signal 11 | 5 | 0 | ||
19 | 0.052 secunde | Caught fatal signal 11 | 5 | 0 | ||
Punctaj total | 60 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Mesaj 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ă.