Cho hai biểu thức số học ở dạng tiền tố. Hãy xác định xem hai cây cú pháp AST tương ứng có cùng cấu trúc hay không, theo nghĩa: bỏ qua hoàn toàn tên biến hoặc giá trị cụ thể ở các nút lá (hai lá bất kỳ luôn được coi là tương đương), nhưng tại mỗi vị trí nút trong tương ứng giữa hai cây, toán tử phải giống hệt nhau, và hình dạng cây (số lượng, vị trí các nút con trái/phải) phải trùng khớp.
Nói cách khác, hai cây "cùng cấu trúc" nếu tồn tại một cách ánh xạ 1-1 giữa các nút của hai cây sao cho: nút gốc ứng với nút gốc; nếu một nút là lá thì nút tương ứng cũng phải là lá; nếu một nút trong có toán tử op với con trái/phải L,R thì nút tương ứng cũng phải là nút trong với cùng toán tử op, có con trái tương ứng với L và con phải tương ứng với R (thứ tự trái/phải được giữ nguyên, không được hoán đổi).
Ví dụ: + a * b c và + x * y z có cùng cấu trúc (YES); + a * b c và + x - y z thì không (NO, vì toán tử ở nhánh phải khác nhau: * so với -).
Hai dòng, mỗi dòng chứa một biểu thức tiền tố, các token cách nhau bởi một khoảng trắng. Toán tử nhị phân thuộc {+,−,∗,/,∧} (^). Toán hạng là một chữ cái thường hoặc một số nguyên không âm. Đề bài đảm bảo cả hai biểu thức hợp lệ.
In ra YES nếu hai cây cú pháp có cùng cấu trúc theo định nghĩa trên, ngược lại in NO (không phân biệt hoa/thường, in đúng như trên).
Ví dụ:
Đầu vào:
+ a * b c
+ x * y z
Đầu ra:
YES
Đầu vào:
+ a * b c
+ x - y z
Đầu ra:
NO
Đang tải editor...