Skip to content

Commit e50e9a1

Browse files
committed
sudoku
fix sudoku
1 parent 8d0f054 commit e50e9a1

File tree

13 files changed

+884
-77
lines changed

13 files changed

+884
-77
lines changed

sudoku-backtrack-unoptimized/src/main/java/com/dodecaedro/SudokuMain.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

sudoku-backtrack-unoptimized/src/main/java/com/dodecaedro/backtrack/sudoku/SudokuUtils.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

sudoku-backtrack-unoptimized/pom.xml renamed to sudoku-backtrack/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.dodecaedro</groupId>
5-
<artifactId>sudoku-backtrack-unoptimized</artifactId>
5+
<artifactId>sudoku-backtrack</artifactId>
66
<packaging>jar</packaging>
77
<version>1.0-SNAPSHOT</version>
8-
<name>sudoku-backtrack-unoptimized</name>
8+
<name>sudoku-backtrack</name>
99
<url>http://maven.apache.org</url>
1010
<properties>
1111
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.dodecaedro;
2+
3+
import com.dodecaedro.backtrack.BacktrackAlgorithm;
4+
import com.dodecaedro.backtrack.sudoku.SudokuNodeBlockBased;
5+
6+
/**
7+
* User: JM
8+
* Date: 27/10/13 * Time: 19:39
9+
*/
10+
public class SudokuHard {
11+
public static void main(String[] args) {
12+
SudokuNodeBlockBased initialNode = new SudokuNodeBlockBased();
13+
int[][] board = new int[][]{
14+
{0,6,1, 2,0,0, 0,0,0},
15+
{2,0,0, 3,0,4, 0,0,0},
16+
{0,3,0, 0,0,9, 0,8,1},
17+
18+
{0,2,0, 6,0,0, 0,0,7},
19+
{8,0,0, 0,4,0, 0,0,6},
20+
{3,0,0, 0,0,5, 0,2,0},
21+
22+
{1,7,0, 8,0,0, 0,3,0},
23+
{0,0,0, 7,0,3, 0,0,9},
24+
{0,0,0, 0,0,1, 6,7,0}
25+
};
26+
27+
initialNode.setBoard(board);
28+
System.out.println("Sudoku solver. Start processing...");
29+
long startTime = System.currentTimeMillis();
30+
BacktrackAlgorithm.solve(initialNode);
31+
System.out.println("Processing finished. Time spent: " + (System.currentTimeMillis() - startTime) + "ms");
32+
}
33+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.dodecaedro;
2+
3+
import com.dodecaedro.backtrack.BacktrackAlgorithm;
4+
import com.dodecaedro.backtrack.sudoku.SudokuNodeBlockBased;
5+
6+
/**
7+
* User: JM
8+
* Date: 27/10/13 * Time: 18:42
9+
*/
10+
public class SudokuMainEasy {
11+
public static void main(String[] args) {
12+
long startTime = System.currentTimeMillis();
13+
SudokuNodeBlockBased initialNode = new SudokuNodeBlockBased();
14+
int[][] board = new int[][]{
15+
{1,2,3, 4,5,0, 7,8,9},
16+
{4,0,6, 7,8,9, 1,2,3},
17+
{7,8,9, 1,2,3, 0,5,6},
18+
19+
{2,3,4, 5,6,7, 8,9,1},
20+
{5,6,7, 8,9,0, 2,3,4},
21+
{8,9,0, 2,3,4, 0,6,7},
22+
23+
{3,4,5, 6,7,8, 9,1,2},
24+
{6,0,8, 9,1,2, 0,4,5},
25+
{9,1,2, 0,4,5, 6,7,8}
26+
};
27+
28+
int[][] board2 = new int[][]{
29+
{0,2,3, 1,0,0, 8,0,0},
30+
{4,0,9, 0,8,5, 7,0,0},
31+
{6,5,8, 4,0,0, 1,0,0},
32+
33+
{3,0,0, 5,0,0, 2,6,8},
34+
{5,8,6, 7,0,0, 0,1,9},
35+
{0,9,2, 0,6,0, 0,7,0},
36+
37+
{0,0,0, 0,0,3, 0,4,0},
38+
{0,4,7, 2,0,8, 6,0,0},
39+
{0,3,5, 0,0,1, 0,0,0}
40+
};
41+
42+
initialNode.setBoard(board2);
43+
System.out.println("Sudoku solver. Start processing...");
44+
BacktrackAlgorithm.solve(initialNode);
45+
System.out.println("Processing finished. Time spent: " + (System.currentTimeMillis() - startTime) + "ms");
46+
}
47+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.dodecaedro;
2+
3+
import com.dodecaedro.backtrack.BacktrackAlgorithm;
4+
import com.dodecaedro.backtrack.sudoku.SudokuNodeBlockBased;
5+
6+
/**
7+
* User: JM
8+
* Date: 27/10/13 * Time: 19:33
9+
*/
10+
public class SudokuMedium {
11+
12+
public static void main(String[] args) {
13+
SudokuNodeBlockBased initialNode = new SudokuNodeBlockBased();
14+
int[][] board = new int[][]{
15+
{0,2,0, 0,0,3, 5,7,0},
16+
{0,0,4, 0,0,9, 0,0,0},
17+
{3,7,1, 0,0,0, 0,2,0},
18+
19+
{0,0,0, 0,0,1, 7,5,6},
20+
{6,9,5, 4,0,7, 0,0,8},
21+
{1,8,7, 5,0,0, 0,9,0},
22+
23+
{9,3,6, 7,4,5, 0,0,0},
24+
{0,0,0, 3,2,0, 0,4,0},
25+
{0,0,0, 1,0,0, 0,0,7}
26+
};
27+
28+
initialNode.setBoard(board);
29+
System.out.println("Sudoku solver. Start processing...");
30+
long startTime = System.currentTimeMillis();
31+
BacktrackAlgorithm.solve(initialNode);
32+
System.out.println("Processing finished. Time spent: " + (System.currentTimeMillis() - startTime) + "ms");
33+
}
34+
35+
}

0 commit comments

Comments
 (0)