#include<stdio.h>
#include<stdlib.h>
int main()
{
static int a[9][10][1645],x,y,i,j,z=1,k,flag,h,m,n=0,p;
for(k=1;k<=z;k++)
{
for(x=1;x<=8;x++)
{
if(x==8&&m==0)
{
flag=z+1;
m=1;
}
if(a[x][0][k]==2) continue;
for(y=1;y<=8;y++)
{
if(a[0][y][k]==2)continue;
if(x>1)
if(a[x-1][y-1][k]==1||a[x-1][y+1][k]==1) continue;
if(x>2)
if(a[x-2][y-2][k]==1||a[x-2][y+2][k]==1) continue;
if(x>3)
if(a[x-3][y-3][k]==1||a[x-3][y+3][k]==1) continue;
if(x>4)
if(a[x-4][y-4][k]==1||a[x-4][y+4][k]==1) continue;
if(x>5)
if(a[x-5][y-5][k]==1||a[x-5][y+5][k]==1) continue;
if(x>6)
if(a[x-6][y-6][k]==1||a[x-6][y+6][k]==1) continue;
if(x>7)
if(a[x-7][y-7][k]==1||a[x-7][y+7][k]==1) continue;
for(i=0;i<9;i++)
for(j=0;j<9;j++)
a[i][j][z+1]=a[i][j][k];
a[x][y][z+1]=1;
a[0][y][z+1]=2;
a[x][0][z+1]=2;
z++;
}
break;
}
}
for(k=flag;k<=z;k++)
{
for(i=1;i<8;i++)
{
for(j=1;j<=8;j++)
printf("%d",a[i][j][k]);
printf("");
for(j=1;j<=8;j++)
printf("%d",a[9-j][i][k]);
printf("");
for(j=1;j<=8;j++)
printf("%d",a[9-i][9-j][k]);
printf("");
for(j=1;j<=8;j++)
printf("%d",a[j][9-i][k]);
printf("");
printf("\n");
}
n++;
printf("\n");
if(n%4==0)
getchar();
}
system("pause");
}
八皇后 c语言实现
最新推荐文章于 2024-05-28 16:06:41 发布