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. npk1605 (5/10)
  2. hungeazy08 (4/26)
  3. sythai (2/2)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

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