trang chủ / đề bài / dhbb23_ltt_10_b

Chọn bi

Đề bài

Mô tả

An và Bình chơi một trò chơi như sau: Ban đầu có một dãy gồm n viên bi xếp thành một hàng, mỗi viên bi có một trong hai màu: đỏ hoặc xanh. Hai người chơi luân phiên, An được đi trước.

Mỗi lần đến lượt, người chơi chọn một viên bi ở một trong hai đầu của dãy các viên bi còn lại và lấy viên bi đó. Trò chơi kết thúc ngay khi có một người có được k viên bi màu đỏ, khi đó người này sẽ thua. Nếu đã lấy hết bi mà không ai có đủ k viên bi đỏ thì trò chơi kết thúc và không ai thua (khi đó An không thắng).

Yêu cầu: Hãy kiểm tra xem An (người được đi trước) có tồn tại phương án chọn bi sao cho luôn thắng hay không, tức là An luôn khiến Bình phải thua dù Bình chọn bi thế nào.

Dữ liệu vào

Dòng đầu tiên chứa số nguyên dương T (1≤T≤5) là số bộ dữ liệu. Tiếp theo là T nhóm dòng, mỗi nhóm mô tả một bộ dữ liệu với cấu trúc như sau:

  • Dòng đầu tiên chứa hai số nguyên dương n và k (1≤k<n≤350).
  • Dòng thứ hai chứa một xâu gồm n ký tự R hoặc B. Ký tự R ứng với viên bi màu đỏ, còn ký tự B ứng với viên bi màu xanh.

Dữ liệu ra

Gồm T dòng, dòng thứ i ghi YES nếu An có phương án thắng trong bộ dữ liệu thứ i, ngược lại ghi NO. Các bộ dữ liệu đánh số theo thứ tự xuất hiện trong dữ liệu vào.

Ràng buộc

  • 1≤T≤5.
  • 1≤k<n≤350.
  • Có 20% số test có n≤20.
  • 30% số test tiếp theo có n≤50.
  • 50% số test còn lại không có ràng buộc bổ sung.

Ví dụ

Input Output Giải thích
3
18 3
RRRRRRRRRRRRRRRRRR
20 5
RBBBRRBRRRBRBRRRBRBB
20 3
RRRRRRRRRRRRRRRRRRRR
NO
YES
NO
Ở bộ thứ nhất và thứ ba mọi viên bi đều đỏ nên hai người lần lượt nhận bi đỏ, An đi trước nên là người đầu tiên có 3 viên đỏ và thua. Ở bộ thứ hai An có cách chọn khiến Bình luôn thua.
2
2 1
BB
4 1
BRBR
NO
YES
Bộ thứ nhất không có bi đỏ nên không ai thua, An không thắng. Ở bộ thứ hai An lấy viên B ở đầu trái, còn lại RBR: Bình buộc phải lấy một viên đỏ và thua.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0