parent
a71bb06bb2
commit
9e375f6ae2
@ -0,0 +1,67 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
int arr[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}};
|
||||
void Print();
|
||||
void Judge();
|
||||
int main()
|
||||
{
|
||||
Print();
|
||||
Judge();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Print(){
|
||||
printf("The original Sudoku matrix: \n");
|
||||
for(int i=0;i<9;i++){
|
||||
for(int j=0;j<9;j++){
|
||||
printf("%d ",arr[i][j]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
void Judge(){
|
||||
for(int i=0;i<9;i++){
|
||||
for(int j=0;j<9;j++){
|
||||
if(arr[i][j]){
|
||||
int x=i+1,y=j+1;
|
||||
for(y;y<9;y++){
|
||||
if(arr[i][j]==arr[i][y]){
|
||||
printf("False:Invalid initial Sudoku matrix!\n");
|
||||
printf("The number %d in the col %d has been used!",arr[i][j],y+1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
for(x;x<9;x++){
|
||||
if(arr[i][j]==arr[x][j]){
|
||||
printf("False:Invalid initial Sudoku matrix!\n");
|
||||
printf("The number %d in the row %d has been used!",arr[i][j],x+1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
int a=i/3*3,b=j/3*3;
|
||||
int m=a*3+b/3+1;
|
||||
for(int k=0;k<=2;k++){
|
||||
for(int l=0;l<=2;l++){
|
||||
if(arr[a][b]==arr[i][j]&&a!=i&&b!=j){
|
||||
printf("False:Invalid initial Sudoku matrix!\n");
|
||||
printf("The number %d in the block %d has been used!",arr[i][j],m);
|
||||
return;
|
||||
}
|
||||
b++;
|
||||
}
|
||||
a++;
|
||||
b=j/3*3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue