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 翻译