Kiểm Tra Ngoặc Hợp Lệ

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
Input: stdin
Output: stdout

Dạng bài

Cho một xâu ký tự chỉ gồm các ký tự (, ), [, ], {, }. Hãy kiểm tra xem xâu đó có phải là biểu thức ngoặc hợp lệ hay không.

Một biểu thức ngoặc được gọi là hợp lệ khi:

  • Mỗi ngoặc mở đều có đúng một ngoặc đóng tương ứng cùng loại.
  • Các ngoặc được đóng mở theo đúng thứ tự.
Dữ liệu vào
  • Dòng đầu tiên chứa số nguyên ~T~ — số lượng bộ test ~(1 \le T \le 100)~.
  • Mỗi trong $T$ dòng tiếp theo chứa một xâu ~S~ ~(1 \le |S| \le 10^5)~.
Dữ liệu ra

Với mỗi bộ test, in ra YES nếu xâu hợp lệ, ngược lại in ra NO.

Ví dụ

Input:

5
()[]{}
([{}])
(]
([)]
{[}

Output:

YES
YES
NO
NO
NO
Giới hạn
Subtask Điểm Điều kiện
1 40% Chỉ có một loại ngoặc ()
2 60% Đủ cả ba loại ngoặc

Gợi ý: Dùng Stack để lưu các ngoặc mở. Khi gặp ngoặc đóng, kiểm tra đỉnh Stack có khớp không.


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.