Fişierul intrare/ieşire: | evalpostfix.in, evalpostfix.out | Sursă | Concurs IQ Academy | Clasa a 10-a | Șiruri de caractere |
Autor | Din Folclor | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 4096 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Evalpostfix (clasa a 10-a)
Se dă un şir de caractere ce reprezintă scrierea postfix (Forma Inversă Poloneză) a unei expresii aritmetice. Să se evalueze expresia şi să se afişeze rezultatul obţinut.
Descriere
Pentru mai multe informaţii, urmăriţi descrierea problemei Inpostfix.
Date de intrare
Fişierul de intrare evalpostfix.in conţine pe o singură linie şirul de caractere ce reprezintă notaţia postfix a unei expresii. Operanzii şi operatorii expresiei sunt despărţiţi între ei prin câte un spaţiu.
Date de ieşire
În fişierul de ieşire evalpostfix.out se va scrie un singur număr întreg, valoarea obţinută în urma evaluării expresiei.
Restricţii
- 1 ≤ lungimea sirului ≤ 150.000
- Operatorii aritmetici din expresie sunt + - * /, unde / reprezintă câtul împărţirii a două numere întregi
- Operanzii sunt numere naturale
- Se garantează că rezultatul final şi orice rezultat intermediar nu depăşesc în modul 1.000.000.000 (1 miliard)
Exemplu
evalpostfix.in | evalpostfix.out | Explicaţie |
---|---|---|
1 2 * | 2 | 1 * 2 = 2 |
1 2 * 6 4 / + | 3 | 1 * 2 + 6 / 4 = 3 |
2 2 8 + * 4 / | 5 | 2 * (2 + 8) / 4 = 5 |
10 2 + 3 + | 15 | 10 + 2 + 3 = 15 |
1 20 3 + + | 24 | 1 + (20 + 3) = 24 |
1 2 3 * + | 7 | 1 + 2 * 3 = 7 |