📄 非递归八皇后.txt
字号:
int x[9]={0};
int n=1;
int chk(int a, int b) /*检测(x,y)处的皇后是否与已有皇后冲突,同行、同斜线均为冲突。*/
{
int i;
if(a != 0)
{
for(i=1; i <= a; i++)
{
if((b == x[i]) || (a - i == b - x[i]) || (a - i == x[i] - b))
{
return 0; /*代表有冲突*/
}
}
}
return 1; /*没有冲突*/
}
void output()
{
int i,j;
for(i=1;i<=8;i++)
for(j=1;j<=8;j++)
{gotoxy(j+1,i); printf(".");}
for(i=1;i<=8;i++)
{gotoxy(i+1,x[i]); printf("o");}
gotoxy(20,10);
printf("view the %d font now!\n",n++);
getch();
}
void main()
{
int i,j,bool;
for(i=1;i<=8;i++)
{
bool=0;
for(j=x[i]+1;j<=8;j++)
{
bool=chk(i,j);
if(bool==1)
{
x[i]=j; break;
}
}
if(j==9 && bool==0) {x[i]=0; i=i-2;}
if(i==8 && bool==1) {output(); x[i]=0; i=i-2;}
if(i==-1) {break;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -