Fişierul intrare/ieşire:expresii.in, expresii.outSursăHappy Coding 2
AutorMugurel Ionut AndreicaAdăugată de
Timp execuţie pe test0.9 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

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 doi 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 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.

Cerinta

Determinati numarul de reprezentari sub forma de arbore care evalueaza expresia correct.

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.

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.

Restrictii

  • expresia nu contine spatii si lungimea ei este intre 1 si 50
  • 0 < T < 120

Exemplu

expresii.inexpresii.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.
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content