CF1450A Avoid Trygub
题目描述
如果字符串 $b$ 可以通过从字符串 $a$ 中删除若干(可能为零或全部)字符得到,则称 $b$ 是 $a$ 的一个子序列。例如,"xy" 是 "xzyw" 和 "xy" 的子序列,但不是 "yx" 的子序列。
给定一个字符串 $a$,你的任务是重新排列 $a$ 的字符,使得 "trygub" 不是结果字符串的一个子序列。
换句话说,你需要找到一个字符串 $b$,它是字符串 $a$ 的一个排列,并且 "trygub" 不是 $b$ 的子序列。
我们有一个极其精彩的证明,说明任何字符串都可以被重新排列,使得其不包含 "trygub" 作为子序列,但本题描述太短,无法容纳这个证明。
输入格式
第一行包含一个整数 $t$($1\le t\le 100$),表示测试用例的数量。
每个测试用例的第一行包含一个整数 $n$($1\le n\le 200$),表示字符串 $a$ 的长度。
接下来一行包含长度为 $n$ 的字符串 $a$,由小写英文字母组成。
输出格式
对于每个测试用例,输出一个长度为 $n$ 的字符串 $b$,它是字符串 $a$ 的一个排列,并且 "trygub" 不是 $b$ 的子序列。
如果存在多个满足条件的字符串 $b$,你可以输出任意一个。
说明/提示
在第一个测试用例中,"bugyrtnotna" 不包含 "trygub" 作为子序列。它确实包含了 "trygub" 的所有字母,但顺序不对,因此不是子序列。
在第二个测试用例中,我们没有改变字符的顺序,因为没有必要。
在第三个测试用例中,"bruhtrywatchinggura" 包含 "trygu" 作为子序列,但不包含 "trygub"。
由 ChatGPT 4.1 翻译