Diferente pentru problema/expresii intre reviziile #1 si #7

Nu exista diferente intre titluri.

Diferente intre continut:

==Include(page="template/taskheader" task_id="expresii")==
 
==Include(page="template/raw")==
 
Expresii algebrice
 
 
 
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 2 arbori:
 
 
 
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 2-lea 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. 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 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. Restrictii
 
o expresia nu contine spatii si lungimea ei este intre 1 si 50.
 
o 0 < T < 120
 
h2. Exemplu
 
 
 
 
|expresii.in |expresii.out |
 
|6 |Numarul de arbori = 5. |
| | |
|1+2+3+4 |Numarul de arbori = 1. |
| | |
|(1+2)+(3+4) |Numarul de arbori = 2. |
| | |
|1+2+3*4 |Numarul de arbori = 2 |
| | |
|1+2+(3*4) |Numarul de arbori = 0. |
| | |
|1+*7 |Numarul de arbori = 0. |
| | |
|1+2*(3+(4*5) | |
==Include(page="template/taskheader" task_id="expresii")==
 
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. 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 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. Restrictii
 
* expresia nu contine spatii si lungimea ei este intre $1$ si $50$
* $0 < T < 120$
 
h2. Exemplu
 
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