Java - Problema con solucionador de Sudokus

 
Vista:

Problema con solucionador de Sudokus

Publicado por Jairo (6 intervenciones) el 18/05/2007 12:31:23
Alguien me puede echar una mano a entender esta función recursiva que soluciona el Sudoku?
Gracias

static boolean solve(int i, int j, int[][] cells) {
if (i == 9) {
i = 0;
if (++j == 9) {
return true;
}
}
if (cells[i][j] != 0) { // skip filled cells
return solve(i + 1, j, cells);
}

for (int val = 1; val <= 9; ++val) {
if (legal(i, j, val, cells)) {
cells[i][j] = val;
if (solve(i + 1, j, cells)) {
return true;
}
}
}
cells[i][j] = 0; // reset on backtrack
return false;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder