CF1559B Mocha and Red and Blue
题目描述
随着他们的故事展开,一个永恒的故事再次被讲述……
Shirahime 是 Mocha 的朋友,她热衷于玩音乐游戏 Arcaea,并喜欢给 Mocha 出一些有趣的谜题。这一天,Shirahime 又想出了一个新的简单谜题,想让 Mocha 来解答。然而,这些谜题对 Mocha 来说太简单了,所以她希望你来帮她解答并告诉她答案。谜题描述如下。
有 $n$ 个方格排成一行,每个方格可以被涂成红色或蓝色。
在这些方格中,有些已经被涂色,其余的是空白。你可以决定每个空白方格要涂成哪种颜色。
有些相邻的方格可能会被涂成相同的颜色,这样是不完美的。我们定义“不完美度”为所有相邻方格中颜色相同的对数。
例如,“BRRRBBR”的不完美度为 $3$,其中“BB”出现了一次,“RR”出现了两次。
你的目标是最小化不完美度,并输出涂色后的方格颜色。
输入格式
每个测试点包含多组测试数据。
第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的组数。每组测试数据包含两行。
每组测试数据的第一行包含一个整数 $n$($1 \leq n \leq 100$),表示方格的数量。
第二行包含一个长度为 $n$ 的字符串 $s$,由字符 'B'、'R' 和 '?' 组成。'B' 表示蓝色方格,'R' 表示红色方格,'?' 表示空白方格。
输出格式
对于每组测试数据,输出一行,仅包含 'B' 和 'R' 的字符串,表示涂色后的方格颜色,使得不完美度最小。如果有多种方案,输出任意一种即可。
说明/提示
在第一个测试用例中,如果方格被涂成“BRRBRBR”,不完美度为 $1$(因为第 $2$ 和第 $3$ 个方格颜色相同),这是可能的最小不完美度。
由 ChatGPT 4.1 翻译