Biểu thức hậu tố

Xem PDF

Điểm: 400 (p) Thời gian: 1.0s Bộ nhớ: 1023M Input: bàn phím Output: màn hình

Cho một biểu thức hậu tố với số hạng là các số nguyên dương và ba toán tử \(+, -, *\). Hãy tính giá trị của biểu thức hậu tố.

Ví dụ: biểu thức hậu tố: \(2\ 3\ 4\ +\ *\ 5\ -\ 2\ 2\ *\ +\) có giá trị là 13.

Input

  • Gồm nhiều dòng thể hiện biểu thức hậu tố, mỗi dòng có một chuối các số hạng là một số nguyên dương trong phạm vi từ \(1\) đến \(100\). Giữa hai số hạng, hoặc giữa hai toán tử, hoặc giữa số hạng và toán tử, cách nhau một khoảng trắng. Chiều dài biểu thức không quá \(100\) ký tự.

Dữ liệu đề bài cho đảm bảo biểu thức hậu tố là hợp lệ. Trong quá trình tính toán đảm bảo trị tuyệt đối các giá trị trung gian không vượt quá \(10^9\).

Output

  • Mỗi dòng là giá trị của biểu thức hậu tố tương ứng với dữ liệu vào.

Example

Test 1

Input
2 3 4 + * 5 - 2 2 * +
Output
13
Note

Giải thích: \(2\ 3\ 4\ +\ *\ 5\ -\ 2\ 2\ *\ + = 2 * (3+4) - 5 +(2*2)=13\)


Bình luận


  • 2
    VoBaThongL921    7:33 p.m. 20 Tháng 10, 2021 chỉnh sửa 5

    stack / vector go go bruh:D

    gợi ý cho bạn nào cần là mình sẽ tạo một stack lưu các số trong xâu, khi gặp dấu phép toán thì lưu giá trị của 2 phần tử cuối cùng trong stack, pop 2 phần tử cuối ra, tính phép tính của 2 giá trị đó với dấu phép toán rồi push giá trị đó vô lại trong stack. Sau khi duyệt hết xâu thì phần tử cuối cùng trong stack chính là kết quả.
    Một điều lưu ý nữa là nhớ trong xâu sẽ có dấu cách nhé 😃

    1 phản hồi

    • 3
      longvu    5:48 p.m. 17 Tháng 9, 2020

      Cho em hỏi bài này 2 test cuối có j đặc biệt ko ạ?