TÔ MÀU

Trên một tờ giấy có \(n\) ô vuông liên tiếp nhau. Ban đầu tất cả các ô vuông đều có màu trắng. Bạn được phép chọn nhiều lần (có thể 0 lần) hai ô liên tiếp nhau rồi tô một ô bằng màu đỏ, ô còn lại bằng màu xanh. Một ô có thể được chọn nhiều lần.

Ví dụ màu của các ô ban đầu là \(WWWWW\) có thể tô thành \(W\mathbf{RB}WWW \rightarrow WRB\mathbf{BR}W \rightarrow WR\mathbf{RB}RW\)

Trong đó W thể hiện ô màu trắng, R thể hiện ô được tô màu đỏ, B thể hiện ô được tô màu xanh.

Cho xâu \(s\) gồm \(n\) ký tự, mỗi ký tự thuộc một trong 3 loại W, R, B. Hãy cho biết với mảnh giấy ban đầu gồm \(n\) ô màu trắng có thể tô thành các màu như xâu \(s\) hay không?

Dữ liệu vào:

+ Dòng đầu ghi số nguyên \(t\ (1 \leq t \leq 100)\) cho biết số lượng bộ dữ liệu. Mỗi bộ dữ liệu được ghi ở các dòng tiếp theo có cấu trúc:

  • Dòng đầu tiên ghi số nguyên dương \(n\ (1 \leq n \leq 1000)\)

  • Dòng thứ hai ghi xâu \(s\)

Kết quả: Với mỗi bộ dữ liệu tương ứng trong input, ghi “YES” nếu có thể tô màu mảnh giấy thành xâu \(s\), ngược lại ghi “NO”.

Ví dụ:

Input Output
6
5
BRBBW
1
B
2
WB
7
WWWWWWW
10
BRBRBRBRBW
5
RBWBW
YES
NO
NO
YES
YES
NO

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. qtaydzs1tg (17/23)
  2. ducanhbc (16/23)
  3. duythai (12/18)
Trong 7 ngày
  1. haiyen2011 (69/149)
  2. khanhchi_29 (66/80)
  3. qtaydzs1tg (57/90)
Trong 30 ngày
  1. nongvantien11 (115/189)
  2. trungo0 (112/199)
  3. ngocbichh (110/267)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 41021

Lưu Hải Phong - 2020
[email protected]