Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Rams23 en 10 Diciembre 2014, 17:34 pm



Título: Ejercicio Java
Publicado por: Rams23 en 10 Diciembre 2014, 17:34 pm
Hola gente! Tengo este ejercicio que me ha pasado un compañero para realizar, ante todo no quiero codigo, sólo saber por donde tirar para ayudar a mi compañero, os dejo la explicación:

------------------------------------------------------------------------------------------
El juego de las palabras encadenadas consiste en transformar una palabra
dada en otra en el menor número de pasos posible. Pero en la transformación
se deben respetar una serie de reglas:
1) En cada paso sólo puede cambiarse una letra por otra.
2) La palabra obtenida en cada paso debe ser efectivamente una palabra,
esto es, debe estar registrada en un diccionario como tal.
Por ejemplo, para transformar la palabra ‘cantar’ en la palabra ‘tensar’ es
posible realizar la siguiente secuencia de operaciones:
1. C A N T A R
2. C A N S A R
3. C E N S A R
4. P E N S A R
5. T E N S A R
Realizar la transformación en el menor
número de pasos posibles. Además las palabras inicial y final siempre serán de
la mismo longitud (mismo número de caracteres), y las palabras intermedias
también tendrán esa longitud.

-----------------------------------------------------------------------------------------

Por el tema del diccionario, me inclinaría a decir que esto es tema de grafos y demás, alguien que me guíe un poco? un saludo y gracias de antemano! ;-) ;-)


Título: Re: Ejercicio Java
Publicado por: agusdmb en 14 Diciembre 2014, 05:58 am
no me parece dificil a simple vista.. no se si me estoy perdiendo de algo.. yo lo q haria es obtener todas las palabras de la misma logitud (N) del diccionario, y luego buscar si hay alguna q tenga N-1 letras iguales, en este caso hay q transformar la palabra a esta, sino buscas una q tenga N-2 letras iguales.. y asi... si hay mas de una q tenga la misma cantidad de letras iguales, eliges cualquiera