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. vohuyen6688 (10/11)
  2. hoangbo34567 (8/12)
  3. trungduc (5/6)
Trong 7 ngày
  1. nhakyy (21/43)
  2. phatkrt (15/28)
  3. bennek (15/16)
Trong 30 ngày
  1. qtaydzs1tg (186/276)
  2. thang8a1 (134/263)
  3. ifindmyself1 (117/244)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 42171

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