Se presupune că unele dintre primele instrumente de calcul au fost beţişoarele de socotit. În problema noastră vom considera un număr ca fiind o succesiune de unul sau mai multe beţişoare, un beţişor fiind reprezentat de litera I
. Într-o expresie, între oricare două numere există semnul +
sau semnul *
.
Exemple:
Numere
I III IIIIIIIIIII | Expresii
III II*III I+I*III+IIIIIII |
Cerinţă
Scrieţi un program care evaluează astfel de expresii.
Date de intrare
Fișierul de intrare betisoare.in
conține pe prima linie o valoare naturală n
, care indică numărul de expresii care trebuie evaluate. Fiecare dintre următoarele n
linii conţine un şir de maximum 1.000.000
caractere care reprezintă expresia ce trebuie evaluată.
Date de ieșire
Fișierul de ieșire betisoare.out
va conține pe fiecare linie i dintre primele n
linii câte un număr întreg care reprezintă rezultatul evaluării expresiei de pe linia i+1
din fişierul de intrare.
Restricții și precizări
1 ≤ n ≤ 10
- O expresie poate avea cel puţin
1
caracter şi cel mult1.000.010
de caractere. - Valorile calculate pe parcurs şi valoarea finală au maximum
18
cifre.
Dintre teste, 26% conţin numai operaţii de adunare, 22% numai operaţii de înmulţire, iar restul de 52% conţin ambele operaţii.
Exemple
betisoare.in | betisoare.out |
1 I+I*III+IIIIIII |
11 |
2 IIII I+I |
4 2 |
3 I+I+I+I+I+I+I+I+I I*I*I*I*I*I*I IIII*IIII+I |
9 1 17 |