Ora de Matematica

Time limit: 0.1s Memory limit: 64MB Input: oradematematica.in Output: oradematematica.out

Într-o zi, la ora de Matematică, doamna profesoară le-a dat elevilor o provocare interesantă.
Gigel, elev silitor și curios, a primit o multitudine de expresii matematice scrise pe tablă. Expresiile conțin doar numere naturale, paranteze rotunde și operatorii ++, -, *.
Profesoara i-a spus lui Gigel:

Dacă reușești să calculezi corect valorile expresiilor, vei primi un bonus la testul de mâine!

Gigel vrea foarte mult acel bonus, dar expresiile sunt cam lungi și pline de paranteze. Așa că te roagă pe tine să îl ajuți să le evalueze corect.

Cerință

Scrie un program care îl ajută pe Gigel să calculeze valoarile expresilor matematice primite la ora de Matematică.
Programul va citi un numar nn, urmat apoi de nn expresii matematice.
Expresia este formată din:

  • numere intregi
  • paranteze rotunde: (( ));
  • operatorii: ++, -, *.

Date de intrare

Pe prima linie a fișierului de intrare oradematematica.in se găseste un numar nn întreg, iar pe urmatoarele linii se gasesc expresiile matematice.

Date de ieșire

In fisierul de iesire oradematematica.out se vor găsi rezultatele la cele nn expresii matematice.

Restricții și precizări

  • 1N1001 \leq N \leq 100;
  • Toate calculele intermediare și rezultatele finale se încadrează în tipul long long.
  • Lungimea unei expresii nu depășește 5050 de caractere.
  • Expresia este corectă (nu conține alte caractere în afară de cifre, ++, -, *, ((, ))).
  • Se respectă regulile standard ale priorității operatorilor și ale parantezelor.
# Punctaj Restricții
1 50 Nu exista paranteze rotunde
2 50 Fara restrictii suplimentare

Exemplul 1

oradematematica.in

3
20+10*31
477*122-301+40*13
16+42*11*43

oradematematica.out

330
58413
19882

Exemplul 2

oradematematica.in

1
2340-(10+21)*12

oradematematica.out

1968

Log in or sign up to be able to send submissions!