removed completeness test - the solver automatically returns false when the field is incomplete

Fri, 01 Feb 2013 10:18:47 +0100

author
Mike Becker <universe@uap-core.de>
date
Fri, 01 Feb 2013 10:18:47 +0100
changeset 8
e70a0e3555fb
parent 7
2c0a2766461c
child 9
576e7a2861ae

removed completeness test - the solver automatically returns false when the field is incomplete

src/de/uapcore/sudoku/Solver.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/de/uapcore/sudoku/Solver.java	Thu Jan 31 18:44:44 2013 +0100
     1.2 +++ b/src/de/uapcore/sudoku/Solver.java	Fri Feb 01 10:18:47 2013 +0100
     1.3 @@ -173,7 +173,7 @@
     1.4          }
     1.5          
     1.6          // Backtrack
     1.7 -        return solve(f, candidates) && complete(f);
     1.8 +        return solve(f, candidates);
     1.9      }
    1.10      
    1.11      public boolean check(Field f) {
    1.12 @@ -202,45 +202,6 @@
    1.13          return true;
    1.14      }
    1.15      
    1.16 -    private boolean complete(Field f) {
    1.17 -        for (int i = 0 ; i < 9 ; i++) {
    1.18 -            if (!complete(f.getRow(i))) {
    1.19 -                return false;
    1.20 -            }
    1.21 -            if (!complete(f.getColumn(i))) {
    1.22 -                return false;
    1.23 -            }
    1.24 -        }
    1.25 -        for (int x = 0 ; x < 3 ; x++) {
    1.26 -            for (int y = 0 ; y < 3 ; y++) {
    1.27 -                if (!complete(f.getSquare(x, y))) {
    1.28 -                    return false;
    1.29 -                }
    1.30 -            }
    1.31 -        }
    1.32 -        return true;
    1.33 -    }
    1.34 -    
    1.35 -    private boolean complete(int[][] square) {
    1.36 -        for (int x = 0 ; x < 3 ; x++) {
    1.37 -            for (int y = 0 ; y < 3 ; y++) {
    1.38 -                if (square[x][y] == 0) {
    1.39 -                    return false;
    1.40 -                }
    1.41 -            }    
    1.42 -        }
    1.43 -        return true;
    1.44 -    }
    1.45 -    
    1.46 -    private boolean complete(int[] line) {
    1.47 -        for (int i = 0 ; i < 9 ; i++) {
    1.48 -            if (line[i] == 0) {
    1.49 -                return false;
    1.50 -            }
    1.51 -        }
    1.52 -        return true;
    1.53 -    }
    1.54 -    
    1.55      private boolean valid(int[] line) {
    1.56          int numbers[];
    1.57          numbers = new int[9];

mercurial