Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Trình biên dịch] Chuyển biểu thức hậu tố sang trung tố đầy đủ ngoặc

    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à +,−,×,÷,^+, -, \times, \div, \hat{}+,−,×,÷,^ (+ - * / ^). 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).

    • Định dạng đầu vào:

      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.

    • Định dạng đầu ra:

      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...