⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 非递归八皇后.txt

📁 菲递归八皇后程序
💻 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 + -