CSharp
Jump to navigation
Jump to search
Contents
Laboratory 2
Anagramy
K zadanému slovu vypište všechny jeho anagramy. Anagram je katové slovo, které vznikne přeuspořádáním písmen z původního slova. Každé slovo na výstupu bude právě jednou a všechna slova budou setříděna podle abecedy sestupně (od a do z). Ve vstupním slově, jehož anagramy budete generovat, se mohou některé symboly opakovat.
Specifikace vstupu
Na prvním řádku je číslo N. To udává, kolik řádku následuje. Na následujících N řádcích je N slov, každé na samostatném řádku.
Specifikace výstupu
Ke každému slovu ze vstupu vygenerujte všechny jeho anagramy (včetně původního slova) setříděné sestupně podle abecedy. Slova se mohou skládat z malých a velkých písmen anglické abecedy.
Příklad vstupu
3
aAb
abc
acba
Výstup
Aab
Aba
aAb
abA
bAa
baA
abc
acb
bac
bca
cab
cba
aabc
aacb
abac
abca
acab
acba
baac
baca
bcaa
caab
caba
cbaa