Mô tả
Tại cửa khẩu Mộc Bài, hệ thống vé điện tử quản lý luồng xe qua lại bằng các mã phân tầng lồng nhau. Có ba loại vé tương ứng với ba làn xe: vé tròn () cho xe máy, vé vuông [] cho xe tải nhỏ, và vé nhọn {} cho xe container lớn.
Khi một chiếc xe vào cửa khẩu, hệ thống ghi nhận vé mở. Khi xe rời cửa khẩu, hệ thống ghi nhận vé đóng. Quy tắc phân tầng nghiêm ngặt: vé nào mở vào sau cùng thì phải được đóng ra đầu tiên, và phải đóng đúng loại vé đó. Ví dụ, nếu đang mở vé vuông [ thì chưa đóng mà lại mở tiếp vé tròn (, thì bắt buộc phải đóng vé tròn ) trước rồi mới được đóng vé vuông ].
Cho một chuỗi ký tự đại diện cho nhật ký vé trong ngày. Chuỗi chỉ chứa các ký tự (, ), [, ], {, }. Hãy kiểm tra xem chuỗi nhật ký này có hợp lệ hay không, tức là mọi vé mở đều được đóng đúng loại và đúng thứ tự.
Đầu vào
- Một chuỗi
sgồm các ký tự thuộc tập{ (, ), [, ], {, } }.
Đầu ra
- Trả về
truenếu chuỗi vé hợp lệ, ngược lại trả vềfalse.
Ràng buộc
- Độ dài chuỗi
s:1 <= |s| <= 10000.
Ví dụ
Ví dụ 1:
- Đầu vào:
"()" - Đầu ra:
true - Giải thích: Mở vé tròn rồi đóng ngay, một xe máy qua cửa khẩu xong. Hợp lệ.
Ví dụ 2:
- Đầu vào:
"()[]{}" - Đầu ra:
true - Giải thích: Ba chiếc xe qua lần lượt, mỗi xe đều mở rồi đóng đúng loại. Không lồng nhau nên hoàn toàn hợp lệ.
Ví dụ 3:
- Đầu vào:
"(]" - Đầu ra:
false - Giải thích: Mở vé tròn nhưng lại đóng bằng vé vuông . Sai loại vé, không hợp lệ.