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. Date de 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