#1999
Caps
Miruna a descoperit un nou joc. Ea dispune de litere mari și mici ale alfabetului englez și construiește succesiv șiruri de litere din ce în ce mai lungi. Ea definește operația CAPS a unei litere, ca fiind transformarea literei respective din literă mare în literă mică sau invers, din litera mică în literă mare. Pentru fiecare șir S
, Miruna asociază un nou șir Sc
, numit șir CAPS, care se obține aplicând operația CAPS asupra tuturor literelor din șirul S
. Miruna a inventat o altă operație pentru un șir de litere S
, numită NEXT
, prin care obține un nou șir SN
care are structura SScScS
(este format în ordine de la stânga la dreapta din literele lui S
, apoi de două ori succesiv literele șirului Sc
, iar apoi urmează din nou literele șirului S
). Miruna vă roagă să răspundeți la Q
întrebări de tipul:
„Dacă se dă un număr natural N
, ce literă este în șirul final pe poziția N
și de câte ori a apărut această literă în șirul final, de la începutul șirului final până la poziția N
inclusiv?”.
OJI 2017, Clasa a X-a
Problema | Caps | Operații I/O |
caps.in /caps.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #35524579 | Utilizator | |
Fișier | caps.cpp | Dimensiune | 1.35 KB |
Data încărcării | 12 Martie 2022, 15:46 | Scor / rezultat | 100 puncte |
caps.cpp: In function 'int main()': caps.cpp:21:25: warning: array subscript has type 'char' [-Wchar-subscripts] freccaps[caps[i]]++; ^ caps.cpp:22:23: warning: array subscript has type 'char' [-Wchar-subscripts] frecsir[sir[i]]++; ^ caps.cpp:23:51: warning: array subscript has type 'char' [-Wchar-subscripts] aparitii[3*k+i]=aparitii[i]=frecsir[sir[i]]; ^ caps.cpp:24:55: warning: array subscript has type 'char' [-Wchar-subscripts] aparitii[k+i]=aparitii[2*k+i]=freccaps[caps[i]]; ^ caps.cpp:16:13: warning: unused variable 'poz1' [-Wunused-variable] int poz1, poz2; ^ caps.cpp:16:19: warning: unused variable 'poz2' [-Wunused-variable] int poz1, poz2; ^ caps.cpp:27:39: warning: array subscript has type 'char' [-Wchar-subscripts] aparitii[k+i]+=frecsir[caps[i]]; ^ caps.cpp:28:41: warning: array subscript has type 'char' [-Wchar-subscripts] aparitii[2*k+i]+=frecsir[caps[i]]+freccaps[caps[i]]; ^ caps.cpp:28:59: warning: array subscript has type 'char' [-Wchar-subscripts] aparitii[2*k+i]+=frecsir[caps[i]]+freccaps[caps[i]]; ^ caps.cpp:29:40: warning: array subscript has type 'char' [-Wchar-subscripts] aparitii[3*k+i]+=frecsir[sir[i]]+2*freccaps[sir[i]]; ^ caps.cpp:29:59: warning: array subscript has type 'char' [-Wchar-subscripts] aparitii[3*k+i]+=frecsir[sir[i]]+2*freccaps[sir[i]]; ^ caps.cpp:44:43: warning: array subscript has type 'char' [-Wchar-subscripts] long long ras2=(nc/4)*(2*frecsir[c]+2*freccaps[c]); ^ caps.cpp:44:57: warning: array subscript has type 'char' [-Wchar-subscripts] long long ras2=(nc/4)*(2*frecsir[c]+2*freccaps[c]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | corect!!! | 10 | 10 | ||
1 | 0 secunde | corect!!! | 10 | 10 | ||
2 | 0 secunde | corect!!! | 5 | 5 | ||
3 | 0.012 secunde | corect!!! | 5 | 5 | ||
4 | 0.016 secunde | corect!!! | 5 | 5 | ||
5 | 0.016 secunde | corect!!! | 5 | 5 | ||
6 | 0.02 secunde | corect!!! | 5 | 5 | ||
7 | 0 secunde | corect!!! | 5 | 5 | ||
8 | 0 secunde | corect!!! | 5 | 5 | ||
9 | 0 secunde | corect!!! | 5 | 5 | ||
10 | 0 secunde | corect!!! | 5 | 5 | ||
11 | 0.02 secunde | corect!!! | 5 | 5 | ||
12 | 0.024 secunde | corect!!! | 5 | 5 | ||
13 | 0.024 secunde | corect!!! | 5 | 5 | ||
14 | 0.032 secunde | corect!!! | 5 | 5 | ||
15 | 0.04 secunde | corect!!! | 5 | 5 | ||
16 | 0.048 secunde | corect!!! | 5 | 5 | ||
17 | 0.048 secunde | corect!!! | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Caps 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ă.