- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
⼋⼋皇皇后后问问题题的的n种种解解法法
经典的⼋皇后问题:在8×8格的国际象棋上摆放⼋个皇后,使其不能互相攻击,任意两个皇后都不能处于同⼀⾏、同⼀列或同⼀斜线上,
问有多少种摆法。
很早就接触过⼋皇后问题,最近数据结构作业中⼜看到了这个题⽬,仔细研究了⼀波⽹上诸位⼤⽜的博客,发现这个问题居然有这么多有趣
的优化。
1.经典的回溯递归解法:
#includestdio.h
#includeiostream
usingnamespacestd;
//dfs,每⾏只能放⼀个元素,遍历每⾏的每个位置,⽤⼀个⼀维数组记录,最后检查是否符合要求
intans;
intvis[10];
intas(intx){
returnx0?x:-x;
}
oolcheck(intr,intc){
for(inti=1;ir;i++){
if(vis[i]==c)returnfalse;
if(vis[i]-c==r-i||vis[i]-c==i-r)returnfalse;
}
returntrue;
}
voiddfs(intr){
if(r8){
ans++;
return;
}
for(inti=1;i=8;i++){
if(check(r,i)){
vis[r]=i;
dfs(r+1);
vis[r]=0;
}
}
}
main(){
dfs(1);
coutansendl;
}
2.对⾓线检查优化
/*⽤三个数组记录列,左对⾓线,右对⾓线信息,每次判断该位置是否符合要求,只在符合要求位置放置元素。*/
#includeiostream
usingnamespacestd;
constintmaxn=105;
constintmo=100;
typedeflonglongll;
inta[maxn],n=8,ans=0;
ool[maxn],c[maxn],d[maxn];
voidsou(intx){
if(xn){
ans++;
return;
}
for(inti=1;i=n;i++)if(!([i]||c[x+i]||d[x-i+n])){
[i]=c[x+i]=d[x-i+n]=true;
a[x]=i;
sou(x+1);
[i]=c[x+i]=d[x-i+n]=false;
}
}
intmain(){
sou(1);
coutans;
}
3.位运算:
//算法思想与上⼀相同,改⽤三个int来存储信息,采⽤位运算提取合适位置
#includeiostream
#includestdio.h
usingnamespacestd;
intoard;
intn;
intans=0;
voidn_queen(intcol,intld,intrd){
if(col==oard){
ans++;
return;
}
intpos=oard(~(col|ld|rd));
while(pos){
intp=pos(-pos);
pos=pos-p;
n_queen(col|p,(ld|p)1,(rd|p)1);
}
}
intmain(){
cinn;
oard=(1n)-1;
n_queen(0,0,0
您可能关注的文档
- 中科院兰州化物所科技成果——1-3-丙二醇羰基化合成技术.docx
- 北京某小区临水施工方案范文-secret.docx
- 深圳XXX科技-华赛产品培训方案.pptx
- 中国邮政集团有限公司株洲市分公司-企业报告(业主版).pdf
- 口腔牙科医师月工作汇报5篇.docx
- 支气管哮喘个案查房.ppt
- 长江流域水利规划回顾与展望.pdf
- 湖南省病历书写规范培训课件.ppt
- 智能干选系统在老母坡煤矿的研究与应用.docx
- 风电厂事故汇编.docx
- 2025年初中学业水平考试地理模拟试卷:地理信息技术实践应用案例分析题解及答案精讲.docx
- 2025年电子商务师考试题库:电子商务平台数据分析在产品研发中的应用试题.docx
- 2025年小学英语毕业考试模拟试卷:英语歌曲与童谣教学案例分析报告写作试题.docx
- 2025年音响项目建设总纲及方案.docx
- 2025年音响项目可行性建设方案.docx
- 2025年音像制品项目建设方案.docx
- 2025年小学教师资格《综合素质》教育案例反思与教师教育教学改革探索试题试卷.docx
- 2025年乡村医生考试题库(农村居民健康管理服务规范)临床病例分析题库.docx
- 2025年人工智能工程师专业知识考核试卷——人工智能在智能能源管理中的应用试题.docx
- 2025年音响项目构思建设方案.docx
最近下载
- 二级医院评审自查评估报告.docx
- 上海市杨浦区2024届高三一模语文试题及答案解析 .pdf VIP
- 必威体育精装版第五版FMEA模板-AP值自动计算(带实际案例).xls VIP
- 阿那亚介绍2018(3.0)-房地产项目推介.pptx
- 第五版FMEA表单模板(DFMEA&PFMEA).xls VIP
- 某大学期末考试中医耳鼻喉科学(专升本)复习题及答案.pdf VIP
- F158031【复试】2024年桂林理工大学0859土木水利《复试水处理基础之水质工程学》考研复试终.pdf VIP
- 2025届西工大附中高三冲刺模拟物理试卷含解析.doc
- 私募股权基金退出法律制度分析.pdf VIP
- 天津市部分区2020-2021学年八年级下学期期中练习物理试题【含答案、详细解析】.docx
文档评论(0)