#4398
Un număr se numește palindrom dacă citit de la stânga la dreapta este identic cu numărul citit de la dreapta la stânga. Un număr care nu este palindrom poate fi transformat în palindrom adăugând la dreapta sa una sau mai multe cifre. Dat fiind un șir de n numere naturale, scrieți un program care să rezolve următoarele două cerințe:
1. să se determine numărul minim total de cifre care trebuie să fie adăugate, astfel încât fiecare valoare din șir să fie palindrom;
2. considerând că putem adăuga cel mult S cifre, să se determine numărul maxim de termeni palindrom aflați pe poziții consecutive în șirul obținut.
OJI 2023, clasa a VII-a
| Problema | palindrom4 | Operații I/O |
palindrom.in/palindrom.out
|
|---|---|---|---|
| Limita timp | 0.3 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64396103 | Utilizator | |
| Fișier | palindrom4.cpp | Dimensiune | 1.46 KB |
| Data încărcării | 05 Mai 2026, 09:31 | Scor/rezultat | 15 puncte |
palindrom4.cpp: In function ‘int main()’: palindrom4.cpp:13:51: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13 | for(int p = (numar.size()-1)/2; p < numar.size(); p ++){ | ~~^~~~~~~~~~~~~~ palindrom4.cpp:15:48: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 15 | for(st = p - 1, dr = p + 1; dr < numar.size(); dr ++, st --) | ~~~^~~~~~~~~~~~~~ palindrom4.cpp:17:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 17 | if(dr == numar.size()) { | ~~~^~~~~~~~~~~~~~~ palindrom4.cpp:29:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 29 | for(int p = (numar.size()-1)/2; p < numar.size(); p ++){ | ~~^~~~~~~~~~~~~~ palindrom4.cpp:31:48: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for(st = p - 1, dr = p + 1; dr < numar.size(); dr ++, st --) | ~~~^~~~~~~~~~~~~~ palindrom4.cpp:33:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 33 | if(dr == numar.size()) { | ~~~^~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | OK. | 5 | 5 | ||
| 2 | 0.001 secunde | OK. | 5 | 5 | ||
| 3 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 4 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 5 | 0.001 secunde | Raspuns gresit. | 5 | 0 | ||
| 6 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 7 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 8 | 0.001 secunde | Raspuns gresit. | 3 | 0 | ||
| 9 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 10 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 11 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 12 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 13 | 0.001 secunde | Raspuns gresit. | 4 | 0 | ||
| 14 | 0.002 secunde | Raspuns gresit. | 4 | 0 | ||
| 15 | 0.003 secunde | Raspuns gresit. | 4 | 0 | ||
| 16 | 0.004 secunde | Raspuns gresit. | 4 | 0 | ||
| 17 | 0.004 secunde | Raspuns gresit. | 4 | 0 | ||
| 18 | 0.006 secunde | Raspuns gresit. | 4 | 0 | ||
| 19 | 0.006 secunde | Raspuns gresit. | 4 | 0 | ||
| 20 | 0.008 secunde | Raspuns gresit. | 4 | 0 | ||
| 21 | 0.008 secunde | Raspuns gresit. | 4 | 0 | ||
| 22 | 0.013 secunde | Raspuns gresit. | 5 | 0 | ||
| 23 | 0.011 secunde | Raspuns gresit. | 4 | 0 | ||
| 24 | 0.008 secunde | OK. | 5 | 5 | ||
| Punctaj total | 15 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema palindrom4 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ă.