#2135
Un copil dorește să vopsească ouăle de Paște, având la dispoziție vopsele de culoare roșie, galbenă, verde și albastră. Fiecare culoare va fi reprezentată printr-un singur caracter astfel: 'r' pentru culoarea roșie, 'g' pentru galben, 'v' pentru verde, 'a' pentru albastru. Pentru a vopsi ouăle, le așază în rând, unul după altul. Astfel, o colorare va fi o succesiune de N caractere din mulţimea {'r' , 'g' , 'v','a'}, reprezentând, în ordinea aşezării, culorile celor N ouă.
Numim “roua” o secvență de R caractere cu proprietatea că dintre acestea exact R-1 caractere reprezintă culoarea roșie, iar un caracter reprezintă una dintre celelalte 3 culori. De exemplu secvenţele roua de lungime 3 sunt "grr", "rgr", "rrg", "vrr", "rvr", "rrv", "arr", "rar", "rra" .
Copilul consideră că o colorare este R-frumoasă, dacă oricare R caractere consecutive din colorare formează o secvență roua. De exemplu, pentru N=11 ouă, şirul "arrrvrrrarr" reprezintă o colorare 4-frumoasă.
Cunoscând N, numărul de ouă vopsite, și numărul natural R, scrieți un program care determină și afișează:
R existente în colorarea celor N ouă;R-frumoase pentru cele N ouă.ONI 2017, Clasa a V-a
| Problema | Roua | Operații I/O |
roua.in/roua.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
| Id soluție | #63776837 | Utilizator | |
| Fișier | roua.cpp | Dimensiune | 1.18 KB |
| Data încărcării | 18 Martie 2026, 14:51 | Scor/rezultat | Eroare de compilare |
roua.cpp: In function 'int main()': roua.cpp:41:10: error: jump to case label [-fpermissive] case 2: ^ roua.cpp:23:13: error: crosses initialization of 'int cnt' int cnt = 0; ^ roua.cpp:11:39: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, "%d %d %d", &c, &n, &r); ^ roua.cpp:19:34: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, " %c", &c); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Roua 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ă.