This commit is contained in:
Ingy döt Net 2013-06-05 21:47:54 +00:00
parent 1f1ad49427
commit 6f050a029e
2496 changed files with 37609 additions and 3031 deletions

View file

@ -20,8 +20,9 @@ public class Sudoku
for(int i = 0; i < mBoard.length; i++) {
for(int j = 0; j < mBoard.length; j++) {
int value = mBoard[i][j];
if(value != 0)
if(value != 0) {
setSubsetValue(i, j, value, true);
}
}
}
}
@ -39,19 +40,23 @@ public class Sudoku
public boolean solve(int i, int j) {
if(i == mBoardSize) {
i = 0;
if(++j == mBoardSize)
if(++j == mBoardSize) {
return true;
}
}
if(mBoard[i][j] != 0)
if(mBoard[i][j] != 0) {
return solve(i + 1, j);
for(int value = 1; value <= mBoardSize; value++)
}
for(int value = 1; value <= mBoardSize; value++) {
if(isValid(i, j, value)) {
mBoard[i][j] = value;
setSubsetValue(i, j, value, true);
if(solve(i + 1, j))
if(solve(i + 1, j)) {
return true;
}
setSubsetValue(i, j, value, false);
}
}
mBoard[i][j] = 0;
return false;
@ -71,11 +76,13 @@ public class Sudoku
public void print() {
for(int i = 0; i < mBoardSize; i++) {
if(i % mBoxSize == 0)
if(i % mBoxSize == 0) {
System.out.println(" -----------------------");
}
for(int j = 0; j < mBoardSize; j++) {
if(j % mBoxSize == 0)
if(j % mBoxSize == 0) {
System.out.print("| ");
}
System.out.print(mBoard[i][j] != 0 ? ((Object) (Integer.valueOf(mBoard[i][j]))) : " ");
System.out.print(' ');
}