CF1156B Ugly Pairs
题目描述
给定一个只包含小写拉丁字母的字符串。
如果字符串中一对相邻的字母在字母表中也是相邻的,则称这对字母为“丑陋对”。例如,字符串 "abaca" 在位置 $(1, 2)$ — "ab" 和 $(2, 3)$ — "ba" 处包含丑陋对。字母 'a' 和 'z' 不被认为在字母表中相邻。
你能否重新排列给定字符串的字母,使得其中不包含任何丑陋对?你可以任意排列字符串中的字母,但不能添加或删除字母,也可以保持原顺序不变。
如果有多种答案,输出任意一种即可。
你需要回答 $T$ 个独立的询问。
输入格式
第一行包含一个整数 $T$($1 \le T \le 100$)——表示询问的数量。
接下来的 $T$ 行,每行包含一个字符串 $s$($1 \le |s| \le 100$)——表示本次询问的字符串。保证字符串只包含小写拉丁字母。
注意,在 hack 数据中需设置 $T = 1$。
输出格式
输出 $T$ 行,第 $i$ 行为第 $i$ 个询问的答案。
如果第 $i$ 个询问存在答案,则输出一个重新排列后的字符串,使其不包含任何丑陋对。你可以任意排列字符串中的字母,但不能添加或删除字母,也可以保持原顺序不变。
如果存在多种答案,输出任意一种即可。
否则,输出 "No answer"。
说明/提示
在第一个样例中,"bdac" 也是正确答案。
第二个样例说明只有字母表中相邻的字母不能相邻。相同字母可以相邻。
第三个样例有很多合法答案。
由 ChatGPT 4.1 翻译