Compare commits

..

1 Commits
main ... step3

Author SHA1 Message Date
pfkhx47oz c4f893b1b0 Update README.md
2 years ago

@ -1,100 +1,19 @@
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(){
srand(time(NULL));
int board[9][9];
int i,j,b,c,x,y,z;
for(j=0;j<=8;j++)
{
for(i=0;i<=8;i++)
{
board[i][j]=0;
}
}
b=1;x=0;y=0;z=0;
while(b<=9)
{
i=rand()%3;
j=rand()%9;
if (board[i][j]==0)
{
if(i==0&&x<3)
{
board[i][j]=b;
b++;
x++;
}
if(i==1&&y<3)
{
board[i][j]=b;
b++;
y++;
}
if(i==2&&z<3)
{
board[i][j]=b;
b++;
z++;
}
}
}
b=1;x=0;y=0;z=0;
while(b<=9)
{
i=rand()%3+3;
j=rand()%9;
if (board[i][j]==0)
{
if(i==3&&x<3)
{
board[i][j]=b;
b++;
x++;
}
if(i==4&&y<3)
{
board[i][j]=b;
b++;
y++;
}
if(i==5&&z<3)
{
board[i][j]=b;
b++;
z++;
}
}
}
b=1;x=0;y=0;z=0;
while(b<=9)
{
i=rand()%3+6;
j=rand()%9;
if (board[i][j]==0)
{
if(i==6&&x<3)
{
board[i][j]=b;
b++;
x++;
}
if(i==7&&y<3)
{
board[i][j]=b;
b++;
y++;
}
if(i==8&&z<3)
{
board[i][j]=b;
b++;
z++;
}
}
}
int main()
{
int board[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},
{0, 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}};
//这个位置加下original matrix的格式输出 变量i,j可用
printf("The original Sudoku matrix:\n");
printf("|");
for(int i=0;i<23;i++)
{
@ -125,8 +44,71 @@ int main(){
printf("\n");
}
}
return 0;
int a[10],b[10],c[10];
int i,j,d,f=1,p,q,m,x,y,z;
for(i=0;i<9;i++)
{
for(j=0;j<10;j++)
{
a[j]=0;
}
for(j=0;j<9;j++)
{
d=board[j][i];
a[d-1]++;
if(a[d-1]>=2&&d-1!=-1)
{
f=0;
x=d;
y=i;
z=1;
}
}
}
for(i=0;i<9;i++)
{
for(j=0;j<10;j++)
{
a[j]=0;
}
for(j=0;j<9;j++)
{
d=board[i][j];
a[d-1]++;
if(a[d-1]>=2&&d-1!=-1)
{
f=0;x=d;y=i;z=2;
}
}
}
for (p=0;p<3;p++)
{
for(q=0;q<3;q++)
{
for(m=0;m<10;m++)
{
a[m]=0;
}
for (i=3*p;i<3*p+3;i++)
{
for(j=3*q;j<3*q+3;j++)
{
d=board[i][j];
a[d-1]++;
if(a[d-1]>=2&&d-1!=-1)
{
f=0;x=d;y=3*p+q+1;z=3;
}
}
}
}
}
if(f==1) printf("True:Valid initial Sudoku matrix!");
else printf("False:Invalid initial Sudoku matrix!\n");
if(z==1) printf("The number %d in the line %d has been used!",x,y);
else if(z==2) printf("The number %d in the col %d has been used!",x,y);
else if(z==3) printf("The number %d in the block %d has been used!",x,y);
return 0;
}

Loading…
Cancel
Save