#3754
Definim o expresie ca fiind un șir de caractere e care respectă una dintre următoarele:
e = "x";e reprezintă un număr natural (constantă); (ex. e ∊ {"1", "2"; "200"; ...})e = "[e1,e2]" sau e = "(e1,e2)", unde e1, e2 sunt (sub-)expresii. Aici, (•, •) semnifică cel mai mare[•,•] semnifică cel mai mic multiplu comun a două numere. De exemplu, avem că (6, 8) = 2, [6, 8] = 24.Dându-se o expresie e și două numere naturale a, b, să se calculeze eval(e, a) + eval(e, a+1) + ... + eval(e, b). Rezultatul se va afișa modulo 1.000.000.007.
ONSEPI, 2021, clasa a X-a
| Problema | Expresii | Operații I/O |
expresii.in/expresii.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 256 MB
/
Stivă 8 MB
|
| Id soluție | #63121607 | Utilizator | |
| Fișier | expresii.cpp | Dimensiune | 5.18 KB |
| Data încărcării | 15 Februarie 2026, 21:47 | Scor/rezultat | 27 puncte |
expresii.cpp: In function 'Node parse()': expresii.cpp:44:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (idx < expr.size() && isdigit(expr[idx])) { ^ expresii.cpp:70:24: warning: unused variable 't2' [-Wunused-variable] for (auto& t2 : right.terms) { ^ expresii.cpp:69:20: warning: unused variable 't1' [-Wunused-variable] for (auto& t1 : left.terms) { ^ expresii.cpp: In function 'long long int evaluate(int&, long long int)': expresii.cpp:113:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (pos < expr.size() && isdigit(expr[pos])) { ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | OK. | 3 | 3 | ||
| 2 | 0 secunde | OK. | 3 | 3 | ||
| 3 | 0.008 secunde | OK. | 3 | 3 | ||
| 4 | 0.008 secunde | OK. | 3 | 3 | ||
| 5 | 0 secunde | OK. | 3 | 3 | ||
| 6 | 0 secunde | OK. | 3 | 3 | ||
| 7 | 0 secunde | OK. | 3 | 3 | ||
| 8 | 0 secunde | OK. | 3 | 3 | ||
| 9 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 10 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 11 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 12 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 13 | 0.02 secunde | Raspuns gresit. | 3 | 0 | ||
| 14 | 0.016 secunde | Raspuns gresit. | 3 | 0 | ||
| 15 | 0.004 secunde | Raspuns gresit. | 3 | 0 | ||
| 16 | 0.004 secunde | Raspuns gresit. | 3 | 0 | ||
| 17 | 0.004 secunde | Raspuns gresit. | 3 | 0 | ||
| 18 | 0 secunde | OK. | 3 | 3 | ||
| 19 | 0.008 secunde | Raspuns gresit. | 3 | 0 | ||
| 20 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 21 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 22 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 23 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 24 | Depășit | Limita de timp depășită | 3 | 0 | ||
| 25 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 26 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 27 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 28 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 29 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 30 | Depășit | Limita de timp depășită | 4 | 0 | ||
| 31 | Depășit | Limita de timp depășită | 4 | 0 | ||
| Punctaj total | 27 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Expresii 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ă.