#CF1303C. C. 完美键盘
C. 完美键盘
每个测试的时间限制:2 秒 内存限制:256 兆字节
题目描述
Polycarp 想要组装自己的键盘。多行的布局对他来说太复杂了——他的键盘将只有一行,其中所有 个小写拉丁字母按某种顺序排列。
Polycarp 在他注册的所有网站上使用相同的密码 (这不好,但他不在乎)。他想组装一个键盘,使得输入这个密码非常容易。他不喜欢在输入密码时移动手指,因此对于 中每一对相邻的字符,它们在键盘上也必须是相邻的。例如,如果密码是 abacaba,那么布局 cabdefghi... 就是完美的,因为字符 a 和 c 在键盘上相邻,且 a 和 b 在键盘上相邻。保证 中没有两个相邻的相等字符,因此,例如,密码不能是 password(因为有两个相邻的 s)。
你能帮助 Polycarp 选择完美的键盘布局吗(如果可能的话)?
输入格式
第一行包含一个整数 ()——测试用例的数量。 接下来 行,每行包含一个字符串 (),代表一个测试用例。 仅由小写拉丁字母组成,且 中没有两个相邻的相等字符。
输出格式
对于每个测试用例,执行以下操作:
如果不可能组装出完美的键盘,则输出 NO(大写,本题中大小写敏感);
否则,输出 YES(大写),然后输出一个由 个小写拉丁字母组成的字符串——完美的布局。每个拉丁字母在字符串中恰好出现一次。如果有多个答案,输出任意一个。
5
ababa
codedoca
abcda
zxzytyz
abcdefghijklmnopqrstuvwxyza
YES
bacdefghijklmnopqrstuvwxyz
YES
edocabfghijklmnpqrstuvwxyz
NO
YES
xzytabcdefghijklmnopqrsuvw
NO
数据规模与约定
对于 的数据,。