#include"iostream.h"
#include"math.h"
bool Place(int k,int i,int *x) //k为行数,i为列数,x[]储存皇后位置
{//判断两个皇后是否在同一列或同一斜线上
for(int j=0;j<k;j++)
if((x[j]==i)||(abs(x[j]-i)==abs(j-k)))
return false;
return true;
}
void NQueens(int k,int n,int *x,int &count)
{
for(int i=0;i<n;i++)
{
if(Place(k,i,x))
{
x[k]=i;
if(k==n-1)
{
count++;
cout<<"Solution"<<count<<":"<<endl;
for(i=0;i<n;i++)
{
cout<<x[i]<<" ";
for(int j=0;j<x[i];j++)
cout<<"- ";
cout<<"* ";
for(j=x[i]+1;j<n;j++)
cout<<"- ";
cout<<endl;
}
cout<<endl;
}
else NQueens(k+1,n,x,count);
}
}
}
void NQueens(int n,int *x,int &count)
{
NQueens(0,n,x,count);
}
int main()
{
int n;
cout<<"Please Input the number of queens:n="<<endl;
cin>>n;
cout<<endl;
int *array=new int[n];
int count=0;
NQueens(n,array,count);
delete[] array;
return 0;
}
刘良运
- 粉丝: 77
- 资源: 1万+
最新资源
- W3CSchool全套Web开发手册中文CHM版15MB最新版本
- Light Table 的 Python 语言插件.zip
- UIkit中文帮助文档pdf格式最新版本
- kubernetes 的官方 Python 客户端库.zip
- 公开整理-2024年全国产业园区数据集.csv
- Justin Seitz 所著《Black Hat Python》一书的源代码 代码已完全转换为 Python 3,重新格式化以符合 PEP8 标准,并重构以消除涉及弃用库实现的依赖性问题 .zip
- java炸弹人游戏.zip学习资料程序资源
- Jay 分享的一些 Python 代码.zip
- 彩色形状的爱心代码.zip学习资料程序资源
- SQLAlchemy库:Python数据库操作的全方位指南
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0