Expressió prefixada (2) P35656


Statement
 

pdf   zip

thehtml

Feu un programa que llegeixi una expressió prefixada, i que escrigui el resultat d’avaluar-la. Els operands són naturals entre 0 i 9 (inclosos). Hi ha tres operadors possibles, identificats amb -, + i m: el canvi de signe (operació unària), la suma (operació binària), i el màxim de tres nombres (operació ternària).

Entrada

L’entrada té una expressió prefixada. Això vol dir que sempre apareix l’operador abans que el seu o els seus operands.

Per exemple, la seqüència

+ - 8 m 4 + 5 7 9

es correspon a l’expressió matemàtica

−8 + max3(4, 5 + 7, 9) ⁠ ⁠ = ⁠ ⁠ −8 + max3(4, 12, 9) ⁠ ⁠ = ⁠ ⁠ −8 + 12 ⁠ ⁠ = ⁠ ⁠ 4 ⁠ ⁠ .

Sortida

Cal escriure un enter en una línia: el resultat d’avaluar l’expressió.

Public test cases
  • Input

    - 8
    

    Output

    -8
    
  • Input

    + 5 7
    

    Output

    12
    
  • Input

    m 1 2 3
    

    Output

    3
    
  • Input

    + - 8 m 4 + 5 7 9
    

    Output

    4
    
  • Input

    - - - + 9 8
    

    Output

    -17
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++ Python
    User solutions
    C++ Python