G. Kiểm tra cặp dấu hợp lệ
Mô tả
Trong khi soạn thảo biểu thức toán học, các dấu ngoặc phải được mở và đóng đúng thứ tự. Một biểu thức được gọi là hợp lệ nếu:
- Mỗi dấu mở đều có một dấu đóng tương ứng.
- Thứ tự đóng phải ngược với thứ tự mở.
- Chỉ xét hai loại dấu: () và [].
Hãy kiểm tra xem chuỗi ký tự đã cho có phải là một biểu thức hợp lệ hay không.
Gợi ý: Có thể sử dụng deque để lưu các dấu mở và lấy ra khi gặp dấu đóng.
Dữ liệu vào
Gồm một dòng chứa chuỗi S (1 ≤ |S| ≤ 105), chỉ gồm các ký tự:
(, ), [, ].
Dữ liệu ra
In ra:
- YES nếu biểu thức hợp lệ.
- NO nếu biểu thức không hợp lệ.
Ví dụ 1
Input
([][])
Output
YES
Ví dụ 2
Input
([)]
Output
NO
Giải thích
Ví dụ 1:
( [ ] [ ] )
Các dấu ngoặc được đóng đúng thứ tự nên kết quả là YES.
Ví dụ 2:
( [ ) ]
Dấu ')' đang cố đóng dấu '[' nên biểu thức không hợp lệ.
Comments