📄 feidiguibahuanghou.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 + -