File tree Expand file tree Collapse file tree 13 files changed +884
-77
lines changed
sudoku-backtrack-unoptimized/src/main/java/com/dodecaedro Expand file tree Collapse file tree 13 files changed +884
-77
lines changed Load Diff This file was deleted.
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 2
2
xsi : schemaLocation =" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" >
3
3
<modelVersion >4.0.0</modelVersion >
4
4
<groupId >com.dodecaedro</groupId >
5
- <artifactId >sudoku-backtrack-unoptimized </artifactId >
5
+ <artifactId >sudoku-backtrack</artifactId >
6
6
<packaging >jar</packaging >
7
7
<version >1.0-SNAPSHOT</version >
8
- <name >sudoku-backtrack-unoptimized </name >
8
+ <name >sudoku-backtrack</name >
9
9
<url >http://maven.apache.org</url >
10
10
<properties >
11
11
<project .build.sourceEncoding>UTF-8</project .build.sourceEncoding>
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments