#P1256. Anagram
Anagram
题目描述:
编写一个程序,根据给定的一组字母生成所有可能的单词组合。
示例:给定单词"abc",程序应通过探索这三个字母的所有不同组合,输出单词"abc"、"acb"、"bac"、"bca"、"cab"和"cba"。
输入单词中可能包含重复字母。对于给定的单词,程序不应生成重复的单词,且输出的单词应按字母升序排列。
输入格式:
- 第一行:单词数量
- 后续每行:一个单词(由大小写字母组成,长度小于13)
- 大小写字母被视为不同字符
输出格式:
- 对每个输入单词,输出所有可能的唯一单词组合
- 同一单词的组合按字母升序排列
- 大写字母排在小写字母前(A<a<B<b<...<Z<z)
示例输入:
输入:
3
aAb
abc
acba
示例输出
Aab
Aba
aAb
abA
bAa
baA
abc
acb
bac
bca
cab
cba
aabc
aacb
abac
abca
acab
acba
baac
baca
bcaa
caab
caba
cbaa