Notació polonesa inversa (2) P29746


Statement
 

pdf   zip

thehtml

Avalueu expressions aritmètiques donades en l’anomenada notació polonesa inversa. Aquí, usarem els operands binaris + i *, i l’operand unari - (canvi de signe).

En aquesta notació, primer es donen els operands, i després l’operador corresponent. Per exemple, l’expressió

((3 + 4) + (2 * −(8))) * (2 + 5)

es dóna com

3 ⁠ ⁠ 4 ⁠ ⁠ + ⁠ ⁠ 2 ⁠ ⁠ 8 ⁠ ⁠ − ⁠ ⁠ * ⁠ ⁠ + ⁠ ⁠ 2 ⁠ ⁠ 5 ⁠ ⁠ + ⁠ ⁠ * ⁠ ⁠

Entrada

L’entrada comença amb un natural n. Segueixen n expressions aritmètiques en notació polonesa inversa. Els operands són dígits (és a dir, caràcters entre ‘0’ i ‘9’). Els operadors possibles són ‘+’, ‘*’, i ‘-’. Una ‘F’ marca el final de cada expressió.

Sortida

Per a cada expressió, escriviu el resultat de la seva avaluació.

Pista

Useu una pila d’enters.

Public test cases
  • Input

    6
    1 F
    4 - F
    4 - - F
    2 3 + F
    2 3 * F
    3 4 + 2 8 - * + 2 5 + * F
    

    Output

    1
    -4
    4
    5
    6
    -63
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++