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