Anagrama:
do Gr. aná, para cima, para trás + grámma, letra
s. m., transposição de letras;
inversão das letras de um nome para formar outro.
A maior parte dos fãs de quebra-cabeças está habituado a lidar com anagramas, ou seja, grupos de palavras que usam o mesmo conjunto de letras, mas com uma ordem diferente (por exemplo, sacar, casar e caras são anagramas).
Uma classe de anagramas é um conjunto de duas ou mais palavras diferentes que usam exactamente as mesmas letras. Por exemplo, sacar, casar e caras formam uma classe de anagramas, e fio e foi formam outra classe de anagramas diferente.
Mas será que num texto normal que nós escrevemos no quotidiano aparecem muitos anagramas? E distribuem-se por muitas classes de anagramas, ou pelo contrário o número de classes é reduzido?
A tua tarefa é fazer um programa que descubra quantas classes de anagramas existem num determinado texto.
O input é um texto de tamanho arbitrário constituído por letras e outros caracteres.
Para efeitos deste problema, uma palavra é um conjunto de letras contínuo entre quaisquer outros caracteres ou delimitado pelo início ou fim do input. É garantido que nunca existirão palavras de tamanho superior a 30 e que o número de palavras diferentes do texto nunca ultrapassará 20000. Também convém fazer notar que não importa se as letras são maísculas ou mínusculas, isto é, Oni é a mesma palavra que oni ou ONI. Para simplificar, é também garantido que nunca aparecerão letras acentuadas no input.
Uma única linha contendo o número de classes de anagramas que o texto contém.
Dormia eu numa linda cama, quando sonhei com uma maca. Foi entao que vi muitas caras e pensei: Sera possivel sacar algo deste sonho? Sera possivel casar com a imaginacao? Mas o sonho era confuso e o mundo inteiro estava preso por um fio... E eu durante este tempo todo na minha cama!
3
Explicação: as três classes de anagramas que existem no texto são: