Problema 1
Anagramas
anagram.pas, anagram.c, anagram.cpp
Problema
Dado un conjunto de letras, escribe un programa que genere todas las palabras posibles. Ejemplo: De la palabra ‘abc’ el programa debe producir, explorando todas las posibles combinaciones de letras, las siguientes palabras: ‘abc’, ‘acb’, ‘bac’, ‘bca’, ‘cab’ y ‘cba’.
En la palabra obtenida de la entrada, algunas letras pueden aparecer más de una vez. Para una palabra dada, el programa no debe producir la misma palabra más de una vez y las palabras deben aparecer ordenadas alfabéticamente.
Entrada
La entrada está formada por diversas palabras. La primera línea contiene el número de palabras que siguen. Cada línea contiene una palabra. Una palabra está compuesta por letras de ‘a’ a ‘z’, minúsculas, y tiene de 1 a 10 letras.
Salida
Para cada palabra de la entrada, la salida debe contener todas las diferentes palabras que pueden ser generadas con las letras de la palabra. Las palabras generadas desde una palabra deben mostrarse en orden alfabético.
Ejemplo
entrada | salida |
2 abc acba |
abc acb bac bca cab cba aabc aacb abac abca acab acba baac baca bcaa caab caba cbaa |
Concurso: | ICPC - 2 Concurso Interno de la Universidad Bonaterra. 17/Mayo/2002 |
Tomado de: | UVa Online Judge - 195 |
Ayuda: | entradas, salidas, sugerencias |
Soluciones: | anagram.pas, anagram.c, anagram.cpp |