un reto, programa que encuentre todas las palabras en el menor tiempo

Iniciado por ralg98, 1 Junio 2013, 11:30 AM

0 Miembros y 1 Visitante están viendo este tema.

ralg98

hola se que me incrivi hace poco pero seguia el forum como anonimo, tengo una pregunta que hacerles, de tiempo voy jugando ruzzle y quise hacer un algoritmo que me permita encontrar todas las palabras posibles y asi acumular el mejor score, para los que no conocieran el juego se trata de una matriz de letras 4 x 4 donde, escoges una letra y respecto a ella te puedes mover indistintamente sea acia arriba, abajo izquierda derecha en forma oblicua, de manera que formes una palabra, cuanto mas grande es la palabra mas puntos tienes, el diccionario pienso tenerlo en un file che viene llamado del programa, y que me permite confrontar si la palabra existe o no, espero haber sido claro, el lenguaje que tengo a dispocicion es lenguaje c, la matriz de letras viene caragada da un file y il programa debe generar un file con las palabras encontradas y el escore
gracias anticipadamente por su ayuda





BlackM4ster

No es dificil:
Una funcion que lea la matriz y otra que vaya leyendo posibles palabras y las guarde en una lista
Ánimo
- Pásate por mi web -
https://codeisc.com

amchacon

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

daryo

bue lo que se me ocurre es lo siguente:
1.el programa primero recorre la matriz de forma horizontal tomando los primeros 4 caracteres
2.los une a todos en una cadena
3. luego con el diccionario que sera un archivo de texto plano supongo yo se buscan subcadenas que son las palabras de el diccionario(hay muchas formas de hacerlo) en caso de encontrarlos ya tienes una palabra encontrada
4. se le da vuelta a la cadena y se repite el proceso para ver si hay palabras al revez
5.toma los 4 caracteres que le siguen de forma horizontal y se repite el proceso
6. el mismo proceso pero de forma vertical
7. en caso de haber diagonales lo unico a cambiar seria que la primera cadena que toma inicia con un caracter la cadena segunda tomaria dos caracteres asi hasta 4 y luego otra vez se le resta  de uno en uno
buenas

ralg98

Cita de: amchacon en  1 Junio 2013, 14:11 PM
Vas cogiendo palabras del diccionario y probando.

gracias por sus respuestas, mi duda esta en como hacer en codigo, basicamente, para seleccionar las palabras de la matriz y confrontarlas con el diccionario qu tengo desde esta mañana que voy provando y no me viene un resultado