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

Задача . B. Mocha и красное и синее


Их история развивается, и вечная сказка будет рассказана снова...

Shirahime, друг Mocha, обожает играть в музыкальную игру Arcaea, а также показывать Mocha интересные головоломки. Сегодня Shirahime придумал новую простенькую головоломку и хочет, чтобы Mocha решила ее. Однако эти головоломки слишком просты для Mocha, и она хочет, чтобы вы их решили и сказали ей ответ. Головоломки описаны ниже.

В ряд расположены \(n\) квадратов, каждый из которых может быть покрашен в красный или синий цвета.

Некоторые из квадратов уже покрашены, а остальные еще не покрашены. Вы можете решить, в какой цвет покрасить каждый непокрашенный квадрат.

Некоторые пары соседних квадратов могут иметь одинаковый цвет, что не идеально. Определим неидеальность как количество пар соседних квадратов одного цвета.

Например, неидеальность «BRRRBBR» равна \(3\), так как «BB» встречается один раз, а «RR» — дважды.

Ваша цель — покрасить непокрашенные квадраты таким образом, чтобы минимизировать неидеальность.

Входные данные

Во входных данных находятся несколько наборов входных данных. В первой строке находится одно целое число \(t\) (\(1 \le t \le 100\)) — количество наборов входных данных. Далее следуют наборы входных данных, каждый в двух строках.

Первая строка каждого набора входных данных содержит одно целое число \(n\) (\(1\leq n\leq 100\)) — количество квадратов.

Вторая строка содержит строку \(s\) длины \(n\), состоящую из латинских букв «B», «R» и знаков вопроса «?». Здесь «B» обозначает синий квадрат, «R» — красный, а «?» — непокрашенный.

Выходные данные

Для каждого набора входных данных выведите строку, состоящую из букв «B» и «R», обозначающую цвета квадратов после покраски, минимизирующей неидеальность. Если существует несколько решений, выведите любое из них.

Примечание

В первом наборе входных данных, если покрасить квадраты как «BRRBRBR», то неидеальность будет равна \(1\) (т. к. квадраты \(2\) и \(3\) одного цвета), что является минимальной возможной неидеальностью.


Примеры
Входные данныеВыходные данные
1 5
7
?R???BR
7
???R???
1
?
1
B
10
?R??RB??B?
BRRBRBR
BRBRBRB
B
B
BRRBRBBRBR

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

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