diff --git a/src/main/c/sudoku.c b/src/main/c/sudoku.c index 21fba11..1b134a1 100644 --- a/src/main/c/sudoku.c +++ b/src/main/c/sudoku.c @@ -38,88 +38,88 @@ int availableLevels[3][3][SIZE_OF_GAMEBORD_AXIS_X][SIZE_OF_GAMEBORD_AXIS_Y] = { {0, 4, 8, 2, 0, 9, 5, 0, 0}, {5, 0, 0, 7, 0, 3, 2, 0, 0}}, - {{0, 0, 3, 0, 2, 1, 8, 0, 0}, - {6, 0, 0, 0, 7, 0, 1, 3, 2}, - {9, 2, 1, 5, 0, 0, 7, 6, 4}, - {7, 6, 0, 3, 0, 0, 4, 0, 0}, - {8, 5, 4, 1, 9, 7, 0, 0, 0}, - {1, 0, 0, 4, 0, 6, 0, 0, 0}, - {2, 9, 0, 8, 1, 5, 0, 0, 6}, - {0, 4, 8, 2, 0, 9, 5, 0, 0}, - {5, 0, 0, 7, 0, 3, 2, 0, 2}}, - - {{0, 0, 3, 0, 2, 1, 8, 0, 0}, - {6, 0, 0, 0, 7, 0, 1, 3, 2}, - {9, 2, 1, 5, 0, 0, 7, 6, 4}, - {7, 6, 0, 3, 0, 0, 4, 0, 0}, - {8, 5, 4, 1, 9, 7, 0, 0, 0}, - {1, 0, 0, 4, 0, 6, 0, 0, 0}, - {2, 9, 0, 8, 1, 5, 0, 0, 6}, - {0, 4, 8, 2, 0, 9, 5, 0, 0}, - {5, 0, 0, 7, 0, 3, 2, 0, 0}}}, + {{7, 0, 2, 0, 0, 0, 9, 5, 0}, + {0, 8, 0, 7, 5, 0, 2, 1, 6}, + {0, 0, 5, 5, 2, 8, 7, 0, 3}, + {5, 1, 8, 4, 3, 0, 6, 0, 0}, + {0, 0, 6, 1, 0, 0, 5, 3, 0}, + {0, 0, 0, 0, 6, 2, 0, 8, 1}, + {0, 9, 0, 2, 0, 4, 0, 0, 5}, + {0, 2, 0, 0, 9, 5, 0, 7, 4}, + {0, 5, 1, 0, 0, 0, 0, 9, 2}}, + + {{4, 2, 5, 0, 9, 7, 1, 3, 0}, + {0, 7, 0, 1, 0, 3, 0, 0, 6}, + {0, 6, 1, 4, 8, 2, 0, 0, 0}, + {1, 0, 0, 0, 3, 0, 0, 6, 0}, + {7, 0, 8, 0, 2, 0, 0, 1, 3}, + {9, 3, 0, 0, 4, 1, 5, 7, 2}, + {0, 0, 7, 9, 6, 5, 0, 0, 0}, + {0, 0, 4, 3, 7, 0, 2, 0, 5}, + {0, 0, 0, 2, 1, 0, 0, 0, 0}}}, {//medium {{0, 0, 3, 0, 2, 1, 8, 0, 0}, - {6, 0, 0, 0, 7, 0, 1, 3, 2}, - {9, 2, 1, 5, 0, 0, 7, 6, 4}, + {6, 0, 0, 0, 0, 0, 1, 3, 2}, + {0, 2, 1, 0, 0, 0, 7, 6, 4}, {7, 6, 0, 3, 0, 0, 4, 0, 0}, - {8, 5, 4, 1, 9, 7, 0, 0, 0}, + {0, 5, 0, 1, 0, 7, 0, 0, 0}, {1, 0, 0, 4, 0, 6, 0, 0, 0}, - {2, 9, 0, 8, 1, 5, 0, 0, 6}, - {0, 4, 8, 2, 0, 9, 5, 0, 0}, + {2, 0, 0, 8, 0, 0, 0, 0, 6}, + {0, 4, 0, 0, 0, 9, 5, 0, 0}, {5, 0, 0, 7, 0, 3, 2, 0, 0}}, - {{0, 0, 3, 0, 2, 1, 8, 0, 0}, - {6, 0, 0, 0, 7, 0, 1, 3, 2}, - {9, 2, 1, 5, 0, 0, 7, 6, 4}, - {7, 6, 0, 3, 0, 0, 4, 0, 0}, - {8, 5, 4, 1, 9, 7, 0, 0, 0}, - {1, 0, 0, 4, 0, 6, 0, 0, 0}, - {2, 9, 0, 8, 1, 5, 0, 0, 6}, - {0, 4, 8, 2, 0, 9, 5, 0, 0}, - {5, 0, 0, 7, 0, 3, 2, 0, 0}}, - - {{0, 0, 3, 0, 2, 1, 8, 0, 0}, - {6, 0, 0, 0, 7, 0, 1, 3, 2}, - {9, 2, 1, 5, 0, 0, 7, 6, 4}, - {7, 6, 0, 3, 0, 0, 4, 0, 0}, - {8, 5, 4, 1, 9, 7, 0, 0, 0}, - {1, 0, 0, 4, 0, 6, 0, 0, 0}, - {2, 9, 0, 8, 1, 5, 0, 0, 6}, - {0, 4, 8, 2, 0, 9, 5, 0, 0}, - {5, 0, 0, 7, 0, 3, 2, 0, 0}} + {{7, 0, 2, 0, 0, 0, 9, 5, 0}, + {0, 0, 0, 7, 5, 0, 2, 0, 6}, + {0, 0, 5, 0, 2, 8, 7, 0, 3}, + {5, 1, 8, 0, 3, 0, 6, 0, 0}, + {0, 0, 6, 1, 0, 0, 0, 3, 0}, + {0, 0, 0, 0, 6, 2, 0, 8, 1}, + {0, 9, 0, 2, 0, 4, 0, 0, 5}, + {0, 0, 0, 0, 9, 0, 0, 0, 4}, + {0, 5, 1, 0, 0, 0, 0, 9, 2}}, + + {{4, 2, 5, 0, 9, 7, 1, 3, 0}, + {0, 0, 0, 1, 0, 3, 0, 0, 6}, + {0, 6, 0, 4, 0, 2, 0, 0, 0}, + {1, 0, 0, 0, 3, 0, 0, 6, 0}, + {7, 0, 8, 0, 2, 0, 0, 1, 3}, + {0, 3, 0, 0, 0, 1, 0, 7, 2}, + {0, 0, 7, 9, 6, 0, 0, 0, 0}, + {0, 0, 4, 3, 7, 0, 2, 0, 5}, + {0, 0, 0, 2, 1, 0, 0, 0, 0}} }, {//hard - {{0, 0, 3, 0, 2, 1, 8, 0, 0}, - {6, 0, 0, 0, 7, 0, 1, 3, 2}, - {9, 2, 1, 5, 0, 0, 7, 6, 4}, - {7, 6, 0, 3, 0, 0, 4, 0, 0}, - {8, 5, 4, 1, 9, 7, 0, 0, 0}, - {1, 0, 0, 4, 0, 6, 0, 0, 0}, - {2, 9, 0, 8, 1, 5, 0, 0, 6}, - {0, 4, 8, 2, 0, 9, 5, 0, 0}, - {5, 0, 0, 7, 0, 3, 2, 0, 0}}, - - {{0, 0, 3, 0, 2, 1, 8, 0, 0}, - {6, 0, 0, 0, 7, 0, 1, 3, 2}, + {{0, 0, 3, 0, 2, 0, 8, 0, 0}, + {6, 0, 0, 0, 0, 0, 0, 3, 0}, {9, 2, 1, 5, 0, 0, 7, 6, 4}, - {7, 6, 0, 3, 0, 0, 4, 0, 0}, - {8, 5, 4, 1, 9, 7, 0, 0, 0}, - {1, 0, 0, 4, 0, 6, 0, 0, 0}, - {2, 9, 0, 8, 1, 5, 0, 0, 6}, - {0, 4, 8, 2, 0, 9, 5, 0, 0}, - {5, 0, 0, 7, 0, 3, 2, 0, 0}}, - - {{0, 0, 3, 0, 2, 1, 8, 0, 0}, - {6, 0, 0, 0, 7, 0, 1, 3, 2}, - {9, 2, 1, 5, 0, 0, 7, 6, 4}, - {7, 6, 0, 3, 0, 0, 4, 0, 0}, - {8, 5, 4, 1, 9, 7, 0, 0, 0}, - {1, 0, 0, 4, 0, 6, 0, 0, 0}, - {2, 9, 0, 8, 1, 5, 0, 0, 6}, - {0, 4, 8, 2, 0, 9, 5, 0, 0}, - {5, 0, 0, 7, 0, 3, 2, 0, 0}} + {0, 0, 0, 3, 0, 0, 0, 0, 0}, + {0, 5, 4, 1, 0, 7, 0, 0, 0}, + {1, 0, 0, 0, 0, 0, 0, 0, 0}, + {2, 0, 0, 0, 1, 5, 0, 0, 6}, + {0, 4, 0, 2, 0, 0, 0, 0, 0}, + {5, 0, 0, 0, 0, 3, 2, 0, 0}}, + + {{7, 0, 2, 0, 0, 0, 9, 0, 0}, + {0, 0, 0, 7, 0, 0, 0, 1, 6}, + {0, 0, 5, 0, 0, 8, 7, 0, 3}, + {5, 0, 0, 4, 0, 0, 6, 0, 0}, + {0, 0, 6, 1, 0, 0, 5, 3, 0}, + {0, 0, 0, 0, 0, 2, 0, 0, 1}, + {0, 9, 0, 2, 0, 4, 0, 0, 0}, + {0, 2, 0, 0, 0, 5, 0, 7, 0}, + {0, 5, 0, 0, 0, 0, 0, 9, 2}}, + + {{4, 0, 5, 0, 9, 7, 1, 3, 0}, + {0, 0, 0, 0, 0, 3, 0, 0, 6}, + {0, 6, 1, 4, 0, 2, 0, 0, 0}, + {1, 0, 0, 0, 3, 0, 0, 6, 0}, + {0, 0, 8, 0, 0, 0, 0, 0, 3}, + {9, 3, 0, 0, 4, 1, 5, 7, 2}, + {0, 0, 7, 9, 0, 5, 0, 0, 0}, + {0, 0, 4, 3, 0, 0, 2, 0, 5}, + {0, 0, 0, 2, 1, 0, 0, 0, 0}} } }; @@ -136,25 +136,25 @@ int solutionLevels[3][3][SIZE_OF_GAMEBORD_AXIS_X][SIZE_OF_GAMEBORD_AXIS_Y] = { {3, 4, 8, 2, 6, 9, 5, 1, 7}, {5, 1, 6, 7, 4, 3, 2, 9, 8}}, - {{4, 7, 3, 6, 2, 1, 8, 5, 9}, - {6, 8, 5, 9, 7, 4, 1, 3, 2}, - {9, 2, 1, 5, 3, 8, 7, 6, 4}, - {7, 6, 9, 3, 5, 2, 4, 8, 1}, - {8, 5, 4, 1, 9, 7, 6, 2, 3}, - {1, 3, 2, 4, 8, 6, 9, 7, 5}, - {2, 9, 7, 8, 1, 5, 3, 4, 6}, - {3, 4, 8, 2, 6, 9, 5, 1, 7}, - {5, 1, 6, 7, 4, 3, 2, 9, 8}}, - - {{4, 7, 3, 6, 2, 1, 8, 5, 9}, - {6, 8, 5, 9, 7, 4, 1, 3, 2}, - {9, 2, 1, 5, 3, 8, 7, 6, 4}, - {7, 6, 9, 3, 5, 2, 4, 8, 1}, - {8, 5, 4, 1, 9, 7, 6, 2, 3}, - {1, 3, 2, 4, 8, 6, 9, 7, 5}, - {2, 9, 7, 8, 1, 5, 3, 4, 6}, - {3, 4, 8, 2, 6, 9, 5, 1, 7}, - {5, 1, 6, 7, 4, 3, 2, 9, 8}}}, + {{7, 3, 2, 6, 4, 1, 9, 5, 8}, + {9, 8, 4, 7, 5, 3, 2, 1, 6}, + {1, 6, 5, 9, 2, 8, 7, 4, 3}, + {5, 1, 8, 4, 3, 7, 6, 2, 9}, + {2, 4, 6, 1, 8, 9, 5, 3, 7}, + {3, 7, 9, 5, 6, 2, 4, 8, 1}, + {8, 9, 7, 2, 1, 4, 3, 6, 5}, + {6, 2, 3, 8, 9, 5, 1, 7, 4}, + {4, 5, 1, 3, 7, 6, 8, 9, 2}}, + + {{4, 2, 5, 6, 9, 7, 1, 3, 8}, + {8, 7, 9, 1, 5, 3, 4, 2, 6}, + {3, 6, 1, 4, 8, 2, 7, 5, 9}, + {1, 5, 2, 7, 3, 9, 8, 6, 4}, + {7, 4, 8, 5, 2, 6, 9, 1, 3}, + {9, 3, 6, 8, 4, 1, 5, 7, 2}, + {2, 8, 7, 9, 6, 5, 3, 4, 1}, + {6, 1, 4, 3, 7, 8, 2, 9, 5}, + {5, 9, 3, 2, 1, 4, 6, 8, 7}}}, {//medium {{4, 7, 3, 6, 2, 1, 8, 5, 9}, @@ -167,25 +167,25 @@ int solutionLevels[3][3][SIZE_OF_GAMEBORD_AXIS_X][SIZE_OF_GAMEBORD_AXIS_Y] = { {3, 4, 8, 2, 6, 9, 5, 1, 7}, {5, 1, 6, 7, 4, 3, 2, 9, 8}}, - {{4, 7, 3, 6, 2, 1, 8, 5, 9}, - {6, 8, 5, 9, 7, 4, 1, 3, 2}, - {9, 2, 1, 5, 3, 8, 7, 6, 4}, - {7, 6, 9, 3, 5, 2, 4, 8, 1}, - {8, 5, 4, 1, 9, 7, 6, 2, 3}, - {1, 3, 2, 4, 8, 6, 9, 7, 5}, - {2, 9, 7, 8, 1, 5, 3, 4, 6}, - {3, 4, 8, 2, 6, 9, 5, 1, 7}, - {5, 1, 6, 7, 4, 3, 2, 9, 8}}, - - {{4, 7, 3, 6, 2, 1, 8, 5, 9}, - {6, 8, 5, 9, 7, 4, 1, 3, 2}, - {9, 2, 1, 5, 3, 8, 7, 6, 4}, - {7, 6, 9, 3, 5, 2, 4, 8, 1}, - {8, 5, 4, 1, 9, 7, 6, 2, 3}, - {1, 3, 2, 4, 8, 6, 9, 7, 5}, - {2, 9, 7, 8, 1, 5, 3, 4, 6}, - {3, 4, 8, 2, 6, 9, 5, 1, 7}, - {5, 1, 6, 7, 4, 3, 2, 9, 8}} + {{7, 3, 2, 6, 4, 1, 9, 5, 8}, + {9, 8, 4, 7, 5, 3, 2, 1, 6}, + {1, 6, 5, 9, 2, 8, 7, 4, 3}, + {5, 1, 8, 4, 3, 7, 6, 2, 9}, + {2, 4, 6, 1, 8, 9, 5, 3, 7}, + {3, 7, 9, 5, 6, 2, 4, 8, 1}, + {8, 9, 7, 2, 1, 4, 3, 6, 5}, + {6, 2, 3, 8, 9, 5, 1, 7, 4}, + {4, 5, 1, 3, 7, 6, 8, 9, 2}}, + + {{4, 2, 5, 6, 9, 7, 1, 3, 8}, + {8, 7, 9, 1, 5, 3, 4, 2, 6}, + {3, 6, 1, 4, 8, 2, 7, 5, 9}, + {1, 5, 2, 7, 3, 9, 8, 6, 4}, + {7, 4, 8, 5, 2, 6, 9, 1, 3}, + {9, 3, 6, 8, 4, 1, 5, 7, 2}, + {2, 8, 7, 9, 6, 5, 3, 4, 1}, + {6, 1, 4, 3, 7, 8, 2, 9, 5}, + {5, 9, 3, 2, 1, 4, 6, 8, 7}} }, {//hard @@ -199,25 +199,25 @@ int solutionLevels[3][3][SIZE_OF_GAMEBORD_AXIS_X][SIZE_OF_GAMEBORD_AXIS_Y] = { {3, 4, 8, 2, 6, 9, 5, 1, 7}, {5, 1, 6, 7, 4, 3, 2, 9, 8}}, - {{4, 7, 3, 6, 2, 1, 8, 5, 9}, - {6, 8, 5, 9, 7, 4, 1, 3, 2}, - {9, 2, 1, 5, 3, 8, 7, 6, 4}, - {7, 6, 9, 3, 5, 2, 4, 8, 1}, - {8, 5, 4, 1, 9, 7, 6, 2, 3}, - {1, 3, 2, 4, 8, 6, 9, 7, 5}, - {2, 9, 7, 8, 1, 5, 3, 4, 6}, - {3, 4, 8, 2, 6, 9, 5, 1, 7}, - {5, 1, 6, 7, 4, 3, 2, 9, 8}}, - - {{4, 7, 3, 6, 2, 1, 8, 5, 9}, - {6, 8, 5, 9, 7, 4, 1, 3, 2}, - {9, 2, 1, 5, 3, 8, 7, 6, 4}, - {7, 6, 9, 3, 5, 2, 4, 8, 1}, - {8, 5, 4, 1, 9, 7, 6, 2, 3}, - {1, 3, 2, 4, 8, 6, 9, 7, 5}, - {2, 9, 7, 8, 1, 5, 3, 4, 6}, - {3, 4, 8, 2, 6, 9, 5, 1, 7}, - {5, 1, 6, 7, 4, 3, 2, 9, 8}} + {{7, 3, 2, 6, 4, 1, 9, 5, 8}, + {9, 8, 4, 7, 5, 3, 2, 1, 6}, + {1, 6, 5, 9, 2, 8, 7, 4, 3}, + {5, 1, 8, 4, 3, 7, 6, 2, 9}, + {2, 4, 6, 1, 8, 9, 5, 3, 7}, + {3, 7, 9, 5, 6, 2, 4, 8, 1}, + {8, 9, 7, 2, 1, 4, 3, 6, 5}, + {6, 2, 3, 8, 9, 5, 1, 7, 4}, + {4, 5, 1, 3, 7, 6, 8, 9, 2}}, + + {{4, 2, 5, 6, 9, 7, 1, 3, 8}, + {8, 7, 9, 1, 5, 3, 4, 2, 6}, + {3, 6, 1, 4, 8, 2, 7, 5, 9}, + {1, 5, 2, 7, 3, 9, 8, 6, 4}, + {7, 4, 8, 5, 2, 6, 9, 1, 3}, + {9, 3, 6, 8, 4, 1, 5, 7, 2}, + {2, 8, 7, 9, 6, 5, 3, 4, 1}, + {6, 1, 4, 3, 7, 8, 2, 9, 5}, + {5, 9, 3, 2, 1, 4, 6, 8, 7}} } };