问题 4772 --原生串

4772: 原生串★★★★

时间限制: 2 Sec  内存限制: 256 MB
提交: 19  解决: 8
[提交][状态][命题人:]

题目描述

定义只包含小写拉丁字母且相邻字符不同的字符串 S 的原生串 T 为满足以下条件的字符串:
1. 长度为 26 且包含26种小写拉丁字母;
2. 对于字符串 S 上任意一对相邻字符,其字母在原生串 T 上也相邻。

例如当 S="abacaba" 时,一种合法的原生串为 T="cabdefghi...." 。

给定字符串 S ,问是否存在它的原生串?如果存在,输出任意一组解。

输入

第一行包含一个整数 t (1≤t≤1000) ,表示测试数据的数量。

之后 t 行,每行包含一个字符串 S (1≤|S|≤200) 代表测试数据。
S 仅由小写拉丁字母组成。 S 中没有两个相邻的相等字符。

输出

对于每组测试数据,如果不存在原生串,则输出 "NO" (不包含引号);否则输出 "YES" (不包含引号),然后是一个由 26 个小写拉丁字母组成的字符串——原生串。 每个拉丁字母应在此字符串中恰好出现一次。如果有多个答案,输出其中任何一个即可。
样例输入
Copy
5
ababa
codedoca
abcda
zxzytyz
abcdefghijklmnopqrstuvwxyza
样例输出
Copy
YES
bacdefghijklmnopqrstuvwxyz
YES
edocabfghijklmnpqrstuvwxyz
NO
YES
xzytabcdefghijklmnopqrsuvw
NO

提示

来源

[提交][状态]