|    
			
				18/05/2007, 06:29
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: octubre-2006 
						Mensajes: 9
					 Antigüedad: 19 años 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;
 }
     |