#include<iostream.h>
#include "math.h"
class QUEEN
{
public:
friend int nQueen(int);
private:
bool Place(int k);
void Backtrack(int t);
int n,*x;
long sum;
};
int nQueen(int n)
{
QUEEN x;
x.n=n;
x.sum=0;
int *p=new int [n+1];
for(int i=0;i<=n;i++)
p[i]=0;
x.x=p;
x.Backtrack(1);
delete[]p;
return x.sum;
}
bool QUEEN::Place(int k)
{
for(int j=1;j<k;j++)
if((abs(k-j)==abs(x[j]-x[k]))||(x[j]==x[k]))
return false;
return true;
}
void QUEEN::Backtrack(int t)
{
if(t>n){sum++;
cout << "n皇后问题的第"<<sum<<"个"<<"可行解的坐标为:"<<endl;
for(t=1;t<=n;t++)
cout <<"( "<<t<<","<<x[t]<<")"<<endl;
cout << "********"<<endl;}
else
for(int i=1;i<=n;i++)
{
x[t]=i;
if(Place(t))
Backtrack(t+1);
}
}
void main()
{ int n;
cout <<"***************N 皇后问题*************** "<<endl;
cout << endl;
cout <<"请输入皇后的个数 n: "<<endl;
cin>>n;
cout<<nQueen( n)<<endl;
cout <<"***************N 皇后问题结束*************"<<endl;
}
钱亚锋
- 粉丝: 107
- 资源: 1万+
最新资源
- 各国制度、文化距离更新版(原始数据+测算数据)-最新出炉.zip
- 耕地相关面板数据(耕地面积、流转面积等,Excel格式)-最新出炉.zip
- 《博弈论导论》(史蒂文・泰迪里斯)学习笔记与典题详解-最新出炉.zip
- 全国各省2005-2021年家庭承包耕地面积和流转总面积数据-最新出炉.zip
- 熵权法与熵权TOPSIS法Stata实现(do文档)-最新出炉.zip
- 全新Matlab莫兰指数与莫兰散点图代码资源-最新出炉.zip
- 上市公司2022年绿色化转型指数数据发布-最新出炉.zip
- 上市公司碳治理数据整合(碳排放、减排等)-最新出炉.zip
- 上市公司企业绿色全要素生产率及绿色转型数据(2022更新)-最新出炉.zip
- 上市公司财务柔性关键指标(现金、负债融资等)数据整理-最新出炉.zip
- 上市公司资本市场估值偏误(剩余收益法RIM)数据解析-最新出炉.zip
- 上市公司投资者关注度计算Stata代码及2000-2022年数据结果推荐-最新出炉.zip
- 上市公司注册地所在省份与城市信息(更新至2023年3月)-最新出炉.zip
- 省、地级市恩格尔系数合集(三份数据整合)-最新出炉.zip
- 社会网络分析:UCINET典型案例详细操作步骤解析资料-最新出炉.zip
- 实用工具变量数据(1984年邮局相关及互联网用户、信息技术服务数据)-最新出炉.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈