BRACKETS - Dãy ngoặc đúng
Dữ liệu vào: Standard input
Dữ liệu ra: Standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: Ngapt

Xét xâu chỉ chứa các ký tự ngoặc tròn (, ), ngoặc vuông [, ] và ngoặc nhọn {, }. Để ngắn gọn, ta gọi nó là xâu ngoặc.

Định nghĩa xâu ngoặc đúng:

  • Xâu rỗng được coi là xâu ngoặc đúng,
  • Nếu a là xâu ngoặc đúng thì (a), [a], {a} cũng là các xâu ngoặc đúng,
  • Nếu ab là các xâu ngoặc đúng thì ab cũng là xâu ngoặc đúng.

Cho xâu S độ dài n. Xâu sksk+1sk+2sns1 s2sk-1 được gọi là xâu đẩy vòng của S. Bản thân S cũng là một xâu đẩy vòng của S.

Yêu cầu: Cho xâu ngoặc S có độ dài không quá 1000. Hãy xác định có tồn tại một xâu đẩy vòng của S là xâu ngoặc đúng hay không và đưa ra câu trả lời Yes hoặc No.

Dữ liệu: Vào từ file văn bản BRACKETS.INP gồm nhiều dòng, mỗi dòng 1 xâu S.

Kết quả: Đưa ra file văn bản BRACKETS.OUT câu trả lời Yes hoặc No tương ứng với mỗi xâu trong 

Ví dụ

input:

}{}(){

Output:

Yes

Back to Top