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

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