Programarea pe mobil funcționează. Un laptop este mai rapid pentru sesiuni lungi.

Problema

Se citește de la tastatură o expresie aritmetică în notație postfixată (notația poloneză inversă), formată din numere naturale și operatorii +, -, *, /. Tokenii (numere și operatori) sunt separați prin câte un spațiu.

Calculează valoarea expresiei folosind o stivă de numere implementată pe un vector cu indice top. Algoritmul este:

  • când întâlnești un număr, îl pui pe stivă;
  • când întâlnești un operator, scoți două valori de pe stivă (b apoi

a), calculezi a op b și pui rezultatul înapoi pe stivă.

La final, pe stivă rămâne exact o valoare, care este rezultatul.

Nu folosi structuri din STL.

Format Date de intrare

Date de intrare input.txt

Pe o singură linie se află expresia postfixată, cu tokenii separați prin spațiu. - expresia are cel mult `5000` de caractere; - toate numerele intermediare și rezultatul final se încadrează în `long long`; - împărțirea este împărțire întreagă între numere strict pozitive; - expresia este întotdeauna corectă (nu sunt necesare verificări de eroare).

Format Date de ieșire

Date de ieșire output.txt

Programul afișează pe ecran rezultatul expresiei, urmat de linie nouă.

Exemplu

intrare
3 4 + 2 *
rezultat
14

Ești gata să rezolvi această provocare?

Creează un cont gratuit pentru a scrie cod, a trimite soluții și a-ți urmări progresul.

⌨️ Scurtături de tastatură

Editor de cod
Rulează codul
Ctrl Enter
Trimite codul
Ctrl Shift Enter
Formatează codul
Shift Alt F
Comută comentariul
Ctrl /
Anulează
Ctrl Z
Refă
Ctrl Y
Navigare
Căutare globală
/
Afișează scurtăturile
?
Închide fereastra
Esc

🔍 Depanator interactiv

0 / 0

Se analizează codul tău...

📦 Variabile

Nicio variabilă încă

📚 Stivă de apeluri
main() linia 1
📤 Rezultat