- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析实验报告—八皇后问题
算法设计与分析实验报告—八皇后问题-姓名:崔明鑫学号级:软件83【问题描述】在国际象棋盘上放八个皇后,要求任一皇后吃不到别人,也不受其他皇后的攻击,求出问题的所有解。【问题分析算法设计】用8元组x[1: n]表示8后问题。其中x[ i]表示皇后i放在棋盘的第i行的第x[ i]列。由于不允许将2个皇后放在一列,所以解向量中的x[ i]互不相同。2个皇后不能放在同一斜线上是问题的隐约束。故若2个皇后放置的位置分别是(i,j)和(k,l),且i – j = k – l或i + j = k + l,则说明这2个皇后处于同一斜线上。这两个方程分别等价于i – k = j – l和i – k = l – j。由此可知,只要|i - k| = |j - l|成立,就表明2个皇后位于同一条斜线上。问题的隐约束化成了显约束。用回溯法解决8皇后问题时,用完全8叉树表示解空间。【算法实现】#include stdio.h#include math.h#include iostream.h#define N 8/* 定义棋盘大小 */staticint sum;/* 当前已找到解的个数 */staticint x[N];/* 记录皇后的位置,x[i]表示皇后i放在棋盘的第i行的第x[i]列 *//* 每找到一个解,打印当前棋盘状态 */void Show(){sum++;cout 第 sum 种情况: endl;cout 坐标为:\t;for(int k = 0; k N; k++)cout ( k+1 , x[k] ) ;cout endl;cout ---------------------------------\n;for (int i = 0; i N; i ++) {for (int j = 0; j N; j ++)if (j == x[i]) //printf(@ );cout * | ;else //printf(* );cout | ;cout \n---------------------------------\n;}}/* 确定某一位置皇后放置与否,放置则返回1,反之返回0 */int Judge(int k){// 测试皇后k在第k行第x[k]列时是否与前面已放置好的皇后相攻击。 x[j] == // x[k] 时,两皇后在同一列上;abs(k - j) == abs(x[j] - x[k]) 时,两皇 // 后在同一斜线上。两种情况两皇后都可相互攻击,故返回0表示不符合条件。for (int j = 0; j k; j ++)if (abs(k - j) == abs(x[j] - x[k]) || (x[j] == x[k])) return 0;return 1;}/* 主递归函数,有哪些信誉好的足球投注网站解空间中第i层子树 */void Backtrack(int t){/* t == N 时,算法有哪些信誉好的足球投注网站至叶结点,得到一个新的N皇后互不攻击的放置方案 */if (t == N)Show();elsefor (int i = 0; i N; i ++) {x[t] = i;if (Judge(t)) Backtrack(t + 1);}}int main(){Backtrack(0);cout endl;return 0;}【运行结果】可知在考虑对称的情况下,8皇后问题共有92种解。
您可能关注的文档
- 第八章服装辅料与包装材料.ppt
- 第八章体育锻炼饮食与体重控制.doc
- 第八章社会组织的形象塑造.ppt
- 第八章——表观遗传学与癌症.ppt
- 第八章数控铣床编程.doc
- 第八章特种货物仓储管理.ppt
- 第八章继电器-接触器控制系统.ppt
- 第八节 普通话朗读之语速、语调技巧.ppt
- 第八讲:海湾战争.doc
- 第八讲 组织中的人员配备.ppt
- 2023年-2024年华为5GC+联通愿景知识考试题库及答案.pdf
- 部队驾驶员年度总结(精选5篇).pdf
- (人教版)小学语文一年级(下册)生字表(制作卡片).pdf
- 2023年尔雅学习通《军事理论》考前模拟(通用版).pdf
- 2024年2024年第一季度驻村工作总结5篇 .pdf
- “十三五”重点项目-褐藻化工项目节能评估报告(节能专).docx
- 2025年中国动物性药材行业发展监测及投资战略规划研究报告.docx
- “十三五”重点项目-太阳能光伏项目节能评估报告(节能专).docx
- 2024届高考模拟作文“青春、奋斗、创新”审题指导及优秀范文 .pdf
- 2021-2026年中国镇静催眠药物行业市场全景调研及投资规划建议报告.docx
文档评论(0)