Dãy ngoặc hợp lệ
Xem dạng PDF
Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python
Cho một dãy gồm các ký tự ngoặc (, ), [, ], {, }. Dãy được gọi là hợp lệ nếu mỗi ngoặc mở có một ngoặc đóng cùng loại tương ứng và các cặp ngoặc lồng nhau đúng thứ tự (ví dụ ([]{}) hợp lệ, ([)] không hợp lệ). Hãy kiểm tra tính hợp lệ. Gợi ý: dùng stack.
Dữ liệu vào
Một dòng chứa dãy ngoặc có độ dài không quá ~10^5~ (có thể là dòng rỗng).
Kết quả
In ra YES nếu dãy hợp lệ, ngược lại in NO.
Ví dụ
Ví dụ 1
Input:
([]{})
Output:
YES
Ví dụ 2
Input:
([)]
Output:
NO
Giải thích
Gặp ngoặc mở thì đẩy vào ngăn xếp; gặp ngoặc đóng thì phải khớp với ngoặc mở ở đỉnh ngăn xếp. Cuối cùng ngăn xếp phải rỗng.
Đang tải...