Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | expresii.in, expresii.out | Sursă | Happy Coding 2 |
Autor | Mugurel Ionut Andreica | Adăugată de | |
Timp execuţie pe test | 0.45 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate |
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.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. |