Analisis Sudoku

Páginas: 4 (753 palabras) Publicado: 9 de marzo de 2013
Requerimientos

1. Verificar si un sudoku está correcto:

* Parámetros: matriz 9X9 de enteros (llena)
* Salida: bool – indicando si está o no correcto
* Lógica:
Se recorreinicialmente todas las filas de la matriz, validando que la suma de cada una de las filas sea 45.
Se repite el proceso recorriendo las columnas y verificando nuevamente que la suma de cada columna sea45.

Si en algún momento la suma de alguna fila o columna es diferente de 45, inmediatamente se devuelve un false, indicando que el sudoku está incorrecto.

2. Resolver un sudoku

*Parámetros: matriz 9X9 con valores enteros y cantidad aleatoria.
* Salida: [][] – matriz llena correctamente
* Lógica:
Clases:
* Nodo:
Atributos: int fila, int columna (posición en la matriz),ArrayList <Integer> posibles (todos los números posibles en este campo)
* Arbol:
Atributos: Nodo [] hijos (todos los campos de la matriz que están vacíos)
Parámetros: int numHijos(tamaño del arreglo de hijos(campos vacios)
Métodos:
* agregarPosibles(int,int):ArrayList

Recibe la fila y la columna de la posición en la que se encuentra el espacio vacío en la matriz.

Serecorre toda la fila de la matriz = a la fila que recibe como parámetro, si un número X de (1-9) no está en la fila, igualmente, se recorre la columna, si X tampoco se encuentra en la columna, se revisa elcuadrante en el que se encuentra el campo vacío, finalmente, si X no se encuentra dentro del cuadrante, X se agrega a la lista de posibles del campo.

Cuando se haya realizado el proceso contodos los números (1-9) devuelve la lista de posibles.

* buscarPosibles(int):void

Crea un árbol con número de hijos = param, recorre toda la matriz buscando los campos vacíos, si es vacío seagrega a la lista de hijos del árbol, enviando como parámetros la posición de este campo (fila, columna) y su lista de posibles que retorna el método agregarPosibles.

* reducirPosibles():void...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sudoku
  • Sudoku
  • Sudoku
  • Sudoku
  • Sudoku
  • El Sudoku
  • Sudoku
  • sudoku

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS