Олимпиадный тренинг

Задача . Feeding the Cows


Задача

Темы:
У Фермера Джона имеется \(N\) (\(1 \le {N} \le {10^5}\)) коров, каждая из которых имеет породу или Guernsey(G) или Holstein(H). Они выстроились в ряд заняв позиции \(1\dots N\).

Поскольку все коровы голодные, ФД решил выложить пакты с травой в некоторых позициях \(1\dots N\). Коровы разных пород едят разные типы травы. Каждый пакет травы должен содержать траву только одного типа (для G или для H). Он не может разместить пакеты с разной травой в одной и той же позиции. Каждый пакет травы может накормить неограниченное количество коров соответствующего типа.

Каждая корова готова пройти не более \(K\) (\(0 \le {K} \le N-1\)) позиций чтобы добраться до пакета с травой. Определите минимальное количество пакетов с травой, необходимое чтобы накормить всех коров. Любая конфигурация, удовлетворяющая указанным выше ограничениям, будет рассматриваться как корректная.

ФОРМАТ ВВОДА (с клавитатуры / stdin):

Каждый тест состоит из \(T\) подтестов, описывающих расположение коров. Первая строка сдержит \(T\) (\(1 \le T \le 10\)). Далее следует \(T\) подтестов.

Каждый подтест начинается со строки содержащей \(N\) и \(K\). Следующая строка содержит строку длины \(N\), в которой каждый символ обозначает породу коровы на позиции \(i\) (G или H).

ФОРМАТ ВЫВОДА (на экран / stdout):

Для каждого из \(T\) подтестов выведите две строки. В первой строке выведите минимальное количество пакетов с травой, которые требуются. Во второй строке нужно вывести строку из \(N\) символов, которая описывает Ваше решение. \(i\)-ый символ этой строки указывает что нужно разместить в позиции \(i\): '.' - ничего 'G' - пакет с травой типа G 'H' - пакет с травой типа H Любая корректная конфигурация будет принята.


Примеры
Входные данныеВыходные данные
1 6
5 0
GHHGG
5 1
GHHGG
5 2
GHHGG
5 3
GHHGG
5 4
GHHGG
2 1
GH
5
GHHGG
3
.GH.G
2
..GH.
2
...GH
2
...HG
2
HG

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя