Foros del Web » Programación para mayores de 30 ;) » Java »

problema con solucionador de Sudoku

Estas en el tema de problema con solucionador de Sudoku en el foro de Java en Foros del Web. Alguien me puede explicar lo que hace esta función recursiva que uliliza backtracking? Gracias static boolean solve(int i, int j, int[][] cells) { if (i ...
  #1 (permalink)  
Antiguo 18/05/2007, 06:29
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 7 meses
Puntos: 0
problema con solucionador de Sudoku

Alguien me puede explicar lo que hace esta función recursiva que uliliza backtracking?
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;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:26.