uCoder | 1184 | Nível: 3 | Tempo Limite: 6
O jogo das letras
Adaptado por erich.rodriguesf
Competição: Interfatecs 2015
Zequinha ganhou de seus pais um jogo pedagógico que trabalha com letras. Nele o jogador sorteia uma palavra e precisa formar todos os conjuntos possíveis com as letras que formam aquela palavra sorteada. A pontuação depende do tamanho da palavra, da quantidade de conjuntos distintos que o jogador consegue formar com as letras daquela palavra e do tempo que levará para completar a tarefa. Zequinha não tem sido muito bom com as palavras, suas letras e as possibilidades de conjuntos (talvez seja por isso que ganhou o jogo de seus pais) e também não está se entendendo direito com a interface do jogo, pois este informa apenas quantos conjuntos estão faltando na resposta de Zequinha, mas não mostra quais ficaram faltando.
Você, como o tio computeiro preferido de Zequinha, foi convocado pelo sobrinho para escrever um programa que, dada uma palavra, informa todos os conjuntos que podem ser formados com suas letras. Lembre-se que um conjunto não possui elementos repetidos (senão seria um multiconjunto) então, apesar de as palavras informadas por Zequinha poderem ter repetição de letras, não poderá haver letras repetidas dentro dos conjuntos que seu programa vai produzir.
Entrada
Inicialmente um valor N é informado, 1 ≤ N ≤ 100, indicando a quantidade de palavras a serem processadas. Seguem-se N linhas, cada uma com uma palavra composta por até 15 caracteres alfabéticos. O programa deverá considerar que as versões maiúscula e minúscula de uma letra correspondem a uma mesma letra.
Saída
Para cada caso de teste, imprima uma linha contendo apenas os conjuntos não vazios (ou seja, que possuem pelo menos uma letra). Cada conjunto deve ser expresso na forma de uma sequência de letras maiúsculas sem espaço entre si, em que as letras aparecem em ordem alfabética. Exibir os conjuntos em ordem também alfabética, como mostram os exemplos, usando um espaço em branco para separar um conjunto do conjunto seguinte.
Exemplo de Entrada | Exemplo de Saída |
---|---|
2 |
A AC ACE ACEF ACEFT ACET ACF ACFT ACT AE AEF AEFT AET AF AFT AT C CE CEF CEFT CET CF CFT CT E EF EFT ET F FT T |