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

📄 1八皇后.cpp

📁 八皇后问题 数据结构学习源码
💻 CPP
字号:
//8皇后问题
#include<stdio.h>
#define n 8          
int m=1,a[n];
int ok(int i,int j)           //测试其位置是不是合适
{
   
	int t,b,ok1;
   t=j;b=i;ok1=1;
   while((t>1)&&ok1)              //检查行是不是合适
   {t--;ok1=a[t]!=i; }
   t=j;b=i;
   while((t>1)&&(b>1)&&ok1)      //检查一个对角线是不是合适
   {t--;b--;ok1=a[t]!=b;}
   t=j;b=i;
    while((t>1)&&(b<n)&&ok1)    //检查另一个对角线是不是合适

   {t--;b++;ok1=a[t]!=b;}
    return ok1;

}
  unknown2(int j)
{
	int i;
	
	if (j>n) {m++;printf("m=%d",m-1); 
	for (i=1;i<=n;i++)   {printf("  %d",a[i]);  }  
	printf("\n ");        }
	else for(i=1;i<=n;i++)
		if(ok(i,j)){a[j]=i;unknown2(j+1);}  
    return m;
}
main()
{
     
	unknown2(1);
	 

     printf("总数=%d \n",  m-1  ); 
	 return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -