STRPN - Chuyển biểu thức toán học sang RPN

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Bạn được cho một danh sách các biểu thức toán học đúng ở dạng trung tố chỉ chứa:

  • Biến: là các chữ cái latinh in thường a-z, (mỗi biến là một chữ cái)
  • Các toán tử hai ngôi: +, -,*, /, ^ (lũy thừa) với thứ tự ưu tiên như sau: +, - cùng độ ưu tiên thấp nhất; *, / cùng độ ưu tiên thứ hai, ^ có độ ưu tiên cao nhất
  • Các cặp dấu ngoặc

Hãy chuyển đổi biểu thức đó sang dạng hậu tố và giữ nguyên thứ tự các số hạng (RPN – ký pháp nghịch đảo Ba Lan)

Input

  • Dòng đầu chứa số nguyên dương ~T~ là số biểu thức;
  • ~T~ dòng tiếp theo, mỗi dòng chứa một biểu thức dạng trung tố.

Giới hạn:

  • ~1 ≤ T ≤ 100~; độ dài các biểu thức trung tố không quá ~400~.

Output

  • Ứng với mỗi biểu thức dạng trung tố, in ra biểu thức RPN tương ứng trên một dòng.

Sample

Input #1
3
(a+(b*c))
((a+b)*(z+x))
((a+t)*((b+(a+c))^(c+d)))
Output #1
abc*+
ab+zx+*
at+bac++cd+^*

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.