Ngược với việc sinh mã, một công cụ hiển thị mã trung gian đôi khi cần khôi phục biểu thức hậu tố về dạng trung tố đầy đủ ngoặc (fully parenthesized) để người đọc không cần suy luận độ ưu tiên toán tử.
Cho một biểu thức hậu tố hợp lệ, toán hạng là số nguyên hoặc biến (một chữ cái thường a-z), toán tử là +,−,×,÷,^ (+ - * / ^). Hãy dựng lại biểu thức trung tố sao cho mỗi phép toán hai ngôi được bao trong đúng một cặp ngoặc đơn, không thêm bất kỳ khoảng trắng nào.
Ví dụ: hậu tố a b + c * cho ra trung tố ((a+b)*c).
Một dòng duy nhất chứa biểu thức hậu tố, các token cách nhau bởi đúng một khoảng trắng.
In ra một dòng là biểu thức trung tố đầy đủ ngoặc, không chứa khoảng trắng. Nếu biểu thức chỉ gồm một toán hạng duy nhất, in ra toán hạng đó (không thêm ngoặc).
Ví dụ:
Đầu vào:
a
Đầu ra:
a
Đầu vào:
a b +
Đầu ra:
(a+b)
Đang tải editor...