G. Kiểm tra cặp dấu hợp lệ


Submit solution

Points: 50
Time limit: 1.0s
Memory limit: 256M

Problem type

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: ()[].

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

There are no comments at the moment.