parent
2c53a00250
commit
eef5f03aaa
@ -0,0 +1,82 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
int main()
|
||||
{
|
||||
printf("The original Sudoku matrix: ");
|
||||
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 i,j,k;
|
||||
int f=1;
|
||||
for(i=0;i<9;i++)
|
||||
{
|
||||
int x[10]={0};
|
||||
for(j=0;j<9;j++)
|
||||
{
|
||||
x[board1[i][j]]+=1;
|
||||
}
|
||||
for(k=1;k<=9;k++)
|
||||
{
|
||||
if(x[k]>1&&f==1)
|
||||
{
|
||||
printf("False:Invalid initial Sudoku matrix!");
|
||||
printf("The number %d in the col %d has been used!",k,i+1);
|
||||
f=0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
for(i=0;i<9;i++)
|
||||
{
|
||||
int z[10]={0};
|
||||
for(j=0;j<9;j++)
|
||||
{
|
||||
z[board1[j/3+(i%3)*3][j%3+(i/3)*3]]+=1;
|
||||
}
|
||||
for(k=1;k<=9;k++)
|
||||
{
|
||||
if(z[k]>1&&f==1)
|
||||
{
|
||||
printf("False:Invalid initial Sudoku matrix!");
|
||||
printf("The number %d in the block %d has been used!",k,i+1);
|
||||
f=0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
for(i=0;i<9;i++)
|
||||
{
|
||||
int y[10]={0};
|
||||
for(j=0;j<9;j++)
|
||||
{
|
||||
y[board1[j][i]]+=1;
|
||||
}
|
||||
for(k=1;k<=9;k++)
|
||||
{
|
||||
if(y[k]>1&&f==1)
|
||||
{
|
||||
printf("False:Invalid initial Sudoku matrix!");
|
||||
printf("The number %d in the row %d has been used!",k,i+1);
|
||||
f=0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(f==1)printf("True:Valid initial Sudoku matrix!");
|
||||
}
|
Loading…
Reference in new issue