A. 回文串 (palindrome)

    Type: Default File IO: palindrome 1000ms 256MiB

回文串 (palindrome)

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

对于一个字符串,如果其从左向右读和从右向左读结果完全一致,则称其为回文串。

小 Y 最近在研究回文子串结构,他恰好有一个文本串 A=a1a2anA=a_1a_2\dots a_n。他想通过把 AA 中的字符重新排列,得到另一个字符串 B=b1b2bnB=b_1b_2\dots b_n,使得:

对于任意 l=2,3,,nl=2,3,\cdots,nBB 长度为 ll 的前缀都不是回文串,也就是 b1b2blb_1b_2\dots b_l 都不是回文串。

但小 Y 发现重排的过程非常复杂,他常常顾此失彼,因此他决定把这个任务交给你!

输入格式

palindrome.in 文件读入数据。

第一行包含一个整数 TT,表示数据组数。

对于每个测试数据,输入一行一个小写字母组成的字符串 AiA_i

输出格式

输出到 palindrome.out 文件。

对于每组测试数据:

如果不存在合法的构造,输出一行,内容为字符串 NO

否则,输出两行,第一行内容为字符串 YES,第二行为你重排后符合要求的字符串 BB 。如果有多个合法构造,输出任意一个即可。

样例 1

5
a
sos
abba
icpc
tenet
YES
a
YES
oss
NO
YES
icpc
YES
tente

可以证明,对于第三个情况没有合法的构造。

数据范围

对于每个测试点, 保证 1T105, 11\le T\le 10^5,~1\le 所有 AiA_i 的长度之和106\le 10^6

子任务 分数 附加约束条件
11 1515 AiA_i 的长度 10\le 10,所有 AiA_i 的长度之和100\le 100
22 2020 AiA_i 中只有两种字符
33 2525 AiA_i 中存在某个字符只出现过一次
44 4040 无附加限制

NOIP3测(真)

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2024-11-12 18:00
End at
2024-11-12 22:00
Duration
4 hour(s)
Host
Partic.
7