Biểu thức hậu tố (RPN)

View as PDF



Author:
Problem type
Points: 10 (p) Time limit: 2.0s Memory limit: 256M Input: stdin Output: stdout

Biểu thức hậu tố (Reverse Polish Notation – RPN) là cách ghi biểu thức mà trong đó toán tử đứng sau các toán hạng.

Ví dụ: biểu thức (2 + 1) * 3 được ghi ở dạng hậu tố là: 2 1 + 3 *

Theo đó, khi biểu diễn dưới dạng này thì ta không cần sử dụng dấu ngoặc và không cần lưu ý về độ ưu tiên của các toán tử.

Trong bài tập này, ta quy ước hiểu toán tử “/” là phép chia lấy phần nguyên(floor division).
Ví dụ: 13 / 5 = 2, -13 / 5 = -3.

Input Specification

  • Dòng thứ nhất chứa số nguyên dương \(n\) – số lượng phần tử (token) trong các biểu diễn RPN.
  • Dòng thứ hai chứa đúng \(n\) token, ngăn cách nhau bởi dấu khoảng trắng. Mỗi token là một số nguyên (có thể âm) hoặc một trong bốn toán tử: + - * /

Output Specification

In ra một số nguyên duy nhất là giá trị của biểu thức hậu tố.

Constraints

  • \(1 \leq n \leq 10^6\)
  • Mỗi số nguyên có trị tuyệt đối không vượt quá \(10^9\)
  • Biểu thức đảm bảo các phép toán hợp lệ, các giá trị kết quả luôn có giá trị tuyệt đối không vượt quá \(10^6\).

Input Sample

5
2 1 + 3 *

Output Sample

9

Comments

There are no comments at the moment.