Cho Bò Ăn

Đề bài

Mô tả

Farmer John quản lý N con bò (1≤N≤105) đứng tại các vị trí từ 1 đến N. Mỗi con bò thuộc giống Guernsey (G) hoặc Holstein (H). Farmer John cần trồng các ô cỏ để cho bò ăn. Mỗi ô cỏ chứa loại cỏ dành cho Guernsey hoặc Holstein.

Mỗi con bò có thể di chuyển tối đa K vị trí (0≤K≤N−1) để đến một ô cỏ phù hợp với giống của nó. Hãy tìm số ô cỏ tối thiểu cần trồng sao cho mọi con bò đều được cho ăn, và đưa ra một cách bố trí hợp lệ.

Dữ liệu vào

  • Dòng đầu tiên chứa T (1≤T≤10), số lượng bộ test.
  • Với mỗi bộ test:
    • Dòng 1: hai số nguyên N và K.
    • Dòng 2: xâu ký tự độ dài N gồm các ký tự 'G' và 'H'.

Dữ liệu ra

Với mỗi bộ test, in ra hai dòng:

  • Dòng 1: số ô cỏ tối thiểu cần trồng.
  • Dòng 2: xâu ký tự độ dài N, mỗi vị trí là '.' (không trồng), 'G' (cỏ Guernsey), hoặc 'H' (cỏ Holstein).

Ràng buộc

  • 1≤N≤105
  • 0≤K≤N−1
  • 1≤T≤10

Ví dụ

Input Output Giải thích
2
5 0
GHHGG
5 2
GHHGG
5
GHHGG
2
..GH.
Khi K=0, mỗi con bò cần ô cỏ ngay tại vị trí của nó. Khi K=2, chỉ cần 2 ô cỏ.

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