CF1297H Paint the String
题目描述
给定一个由小写拉丁字母组成的字符串 $s$。你需要将字符串中的每个字母涂成两种颜色之一(红色或蓝色),使得如果你将所有红色字母从左到右写出,所有蓝色字母从左到右写出,那么这两个字符串中的字典序最大值尽可能小。对于字符串 $s$ 的每个下标,你都可以选择两种颜色中的任意一种。
形式化地说,我们写出:
- 字符串 $r$(可以为空)——所有红色字母按原顺序组成的子序列,
- 字符串 $b$(可以为空)——所有蓝色字母按原顺序组成的子序列。
你的任务是给字符串染色,使得 $\max(r, b)$ 最小。小提示:空字符串的字典序最小。
输入格式
第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。接下来每个测试用例占一行,每行是一个非空字符串 $s$,长度在 $2$ 到 $100$ 之间,且只包含小写拉丁字母。
输出格式
输出 $t$ 行,第 $i$ 行输出第 $i$ 个测试用例的答案。输出一个长度为 $n$ 的字符串,其中 $n$ 是给定字符串 $s$ 的长度:第 $j$ 个字符应为 'R' 或 'B',表示第 $j$ 个字符被染成红色或蓝色。如果有多种方案,输出任意一种均可。
说明/提示
由 ChatGPT 4.1 翻译