forked from p8lxtapfy/matrix
parent
08f8569870
commit
c484984228
@ -1,75 +0,0 @@
|
|||||||
#include "myMatrix.h"
|
|
||||||
|
|
||||||
int fillMatrix(int matrixArr[9][9], int row, int col){
|
|
||||||
if(row==9){
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if(col==9){
|
|
||||||
return fillMatrix(matrixArr,row+1,0);
|
|
||||||
}
|
|
||||||
if(matrixArr[row][col]!=0){
|
|
||||||
return fillMatrix(matrixArr, row, col+1);
|
|
||||||
}
|
|
||||||
for(int i=1;i<=9;i++){
|
|
||||||
matrixArr[row][col]=i;
|
|
||||||
if(checkMatrix(matrixArr,0)){
|
|
||||||
if(fillMatrix(matrixArr,row,col+1)){
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
matrixArr[row][col]=0;
|
|
||||||
}else{
|
|
||||||
matrixArr[row][col]=0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
int board0[9][9] = {{5, 3, 0, 0, 7, 0, 0, 0, 0},
|
|
||||||
{6, 0, 0, 1, 9, 5, 0, 0, 0},
|
|
||||||
{0, 9, 8, 0, 0, 0, 0, 6, 0},
|
|
||||||
{8, 0, 0, 0, 6, 0, 0, 0, 3},
|
|
||||||
{4, 0, 0, 8, 0, 3, 0, 0, 1},
|
|
||||||
{7, 0, 0, 0, 2, 0, 0, 0, 6},
|
|
||||||
{0, 6, 0, 0, 0, 0, 2, 8, 0},
|
|
||||||
{0, 0, 0, 4, 1, 9, 0, 0, 5},
|
|
||||||
{0, 0, 0, 0, 8, 0, 0, 7, 9}};
|
|
||||||
int board1[9][9] = {{8, 3, 0, 0, 7, 0, 0, 0, 0},
|
|
||||||
{6, 0, 0, 1, 9, 5, 0, 0, 0},
|
|
||||||
{0, 9, 8, 0, 0, 0, 0, 6, 0},
|
|
||||||
{8, 0, 0, 0, 6, 0, 0, 0, 3},
|
|
||||||
{4, 0, 0, 8, 0, 3, 0, 0, 1},
|
|
||||||
{7, 0, 0, 0, 2, 0, 0, 0, 6},
|
|
||||||
{0, 6, 0, 0, 0, 0, 2, 8, 0},
|
|
||||||
{0, 0, 0, 4, 1, 9, 0, 0, 5},
|
|
||||||
{0, 0, 0, 0, 8, 0, 0, 7, 9}};
|
|
||||||
int board2[9][9] = {{5, 2, 0, 0, 7, 0, 0, 0, 0},
|
|
||||||
{6, 0, 0, 1, 9, 5, 0, 0, 0},
|
|
||||||
{0, 9, 8, 0, 0, 0, 0, 6, 0},
|
|
||||||
{8, 0, 0, 0, 6, 0, 0, 0, 3},
|
|
||||||
{4, 0, 0, 8, 0, 3, 0, 0, 1},
|
|
||||||
{7, 0, 0, 0, 2, 0, 0, 0, 6},
|
|
||||||
{0, 6, 0, 0, 0, 0, 2, 8, 0},
|
|
||||||
{0, 0, 0, 4, 1, 9, 0, 0, 5},
|
|
||||||
{0, 0, 0, 0, 8, 0, 0, 7, 9}};
|
|
||||||
printf("The original Sudoku matrix: \n");
|
|
||||||
matrixOutput(board0);
|
|
||||||
if (checkMatrix(board0, 1))
|
|
||||||
{
|
|
||||||
if (fillMatrix(board0, 0, 0))
|
|
||||||
{
|
|
||||||
printf("\nThe solution of Sudoku matrix:\n");
|
|
||||||
matrixOutput(board0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("\nNo solution!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("\nNo solution!");
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
Loading…
Reference in new issue