Add 1.3(yi)

main
phbqmr4vg 2 years ago
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…
Cancel
Save