请求编程高手帮助解决编程难题
来源:百度知道 编辑:UC知道 时间:2024/05/15 09:52:22
bool check(int a[9],int i, int b){
if (a[i]==1 && (b==3 || b==4 || b==6)) return false;
if (a[i]==2 && (b==1 || b==8)) return false;
if (a[i]==3 && (b==4 || b==6)) return false;
if (a[i]==4 && (b==2 || b==7 || b==6)) return false;
if (a[i]==5 && (b==1 || b==7)) return false;
if (a[i]==6 && (b==2 || b==3 || b==8)) return false;
if (a[i]==7 && (b==4 || b==5)) return false;
if (a[i]==8 && (b==1 || b==4 || b==2)) return false;
if (a[i]==9 && (b==5 || b==4 || b==8)) return false;
for (int j=0;j<9;j++)
if (a[j]==b) return false;
return true;
}
main()
{
int n[9]={0};
bool found=true;
for (int i1=1;i1<=9;i1++){
n[0]=i1;
for (int i2=1;i2<=9;i2++){
if (check(n,0,i2)) n[1]=i2;
else continue;
for (int i3=1;i3<=9;i3++){
if (check(n,1,i3)) n[2]=i3;
else continue;
for (int i4=1;i4<=9;i4++){
if (check(n,2,i4))