Nu aveti permisiuni pentru a descarca fisierul grader_test3.in
Diferente pentru problema/expresii intre reviziile #2 si #7
Diferente intre titluri:
expresii
Expresii algebrice
Diferente intre continut:
==include(page="template/taskheader" task_id="expresii")==
==Include(page="template/taskheader" task_id="expresii")==
Poveste ...
O expresie algebrica poate fi reprezentata printr-un arbore. Putem evalua expresia parcurgand arborele ei corespunzator. Reprezentarea sub forma de arbore a unei expresii algebrice nu este obligatoriu unica. De exemplu, expresia {@1+2+3*4@} poate fi reprezentata prin urmatorii doi arbori: !problema/expresii?expresii.jpg! La o privire atenta observam ca succesiunea operatiilor {@+@} si {@*@} se mentine, iar ordinea operanzilor ramane neschimbata. In primul arbore ordinea evaluarii va fi: {@3*4 = 12@}; {@2+12 = 14@}; {@1+14 = 15@}. In al doilea arbore, expresia va fi evaluata astfel: {@1+2 = 3@}; {@3*4 = 12@}; {@3+12 = 15@}. Ambele reprezentari produc rezultatul dorit. In aceasta problema vom considera expresii algebrice simple ce contin doar numere dintr-o singura cifra, {@+@}, {@*@} si paranteze. Expresia se evalueaza dupa regulile algebrice normale.
h2. Cerinta
...
Determinati numarul de reprezentari sub forma de arbore care evalueaza expresia correct.
h2.Restrictii
h2. Date de Intrare
...
Prima linie a fisierului de intrare $expresii.in$ contine numarul de teste {$T$}. Urmatoarele linii contin cele $T$ teste. Fiecare test este format dintr-o singura linie, ce contine expresia algebrica.
h2. Date de intrare
h2. Date de Iesire
...
Pentru fiecare test, afisati in fisierul $expresii.out$ o linie ce respecta urmatorul format: "Numarul de arbori = {$XXX$}.", unde $XXX$ va fi inlocuit de numarul de reprezentari care vor evalua expresia correct. Daca expresia algebrica este incorecta din punct de vedere sintactic atunci numarul reprezentarilor corecte este {$0$}.
h2.Datede iesire
h2. Restrictii
...
* expresia nu contine spatii si lungimea ei este intre $1$ si $50$ * $0 < T < 120$
h2. Exemplu
| expresii.in | expresii.out | | linia1 linia2 linia3 | linia1 linia2 |
table(example). |_. expresii.in |_. expresii.out | | 6 1+2+3+4 (1+2)+(3+4) 1+2+3*4 1+2+(3*4) 1+*7 1+2*(3+(4*5) | Numarul de arbori = 5. Numarul de arbori = 1. Numarul de arbori = 2. Numarul de arbori = 2. Numarul de arbori = 0. Numarul de arbori = 0. |
== include(page="template/taskfooter" task_id="expresii") ==
==Include(page="template/taskfooter" task_id="expresii")==
Nu exista diferente intre securitate.
Diferente intre topic forum:
573