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. nakato (9/16)
  2. tribinh (6/9)
  3. sythai (4/4)
Trong 7 ngày
  1. bao_khanh (61/90)
  2. nakato (49/122)
  3. phamnhi (23/94)
Trong 30 ngày
  1. phamnhi (74/259)
  2. kiennhientv (72/163)
  3. npk1605 (68/96)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 39173

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