Dado un diccionario formado por palabras compuestas exclusivamente
por letras minúsculas, definimos un ananagrama como una palabra del diccionario
tal que no existe en éste ninguna otra palabra diferente que tenga exactamente
las mismas letras apareciendo el mismo número de veces. Por ejemplo,
un diccionario que contiene las palabras sosa, sapo, paso, sopa, sosa, posa
y pasa contiene dos ananagramas, sosa y pasa; las otras cuatro son diferentes
permutaciones del mismo grupo de letras. Se pide un programa que determine los
ananagramas de un diccionario.
Entrada
Residente en el fichero de caracteres "ANAN.DAT": un
número indeterminado de líneas, cada una de las cuales contiene
una única palabra formada exclusivamente por letras minúsculas
(y sin signos de puntuación, es decir, ni acentos ni similares), sin
blancos ni otro tipo de caracteres antes de la primera letra ni después
de la última. Las palabras tienen un máximo de 20 letras. El fichero
representa el diccionario de trabajo.
Salida
A guardar en el fichero de caracteres "ANAN.OUT": una
lista de las palabras del diccionario que son ananagramas, sin repeticiones,
cada una de ellas ocupando una línea y en el mismo orden que aparecen
en la entrada por primera vez.
Ejemplo de entrada
sosa
sapo
paso
sopa
sosa
posa
pasa
Ejemplo de salida
sosa
pasa |