清华大学出版社《数据结构》唐国民DS03-栈和队列
1#主对角线 3#主对角线 5#主对角线 ? ? ? 0#次对角线 2#次对角线 4#次对角线 6#次对角线 1#次对角线 3#次对角线 5#次对角线 0#主对角线 2#主对角线 4#主对角线 6#主对角线 ? 0 1 2 3 0 1 2 3 k = i+j k = n+i-j-1 解题思路 安放第 i 行皇后时,需要在列的方向从 0 到 n-1 试探 ( j = 0, …, n-1 ) 在第 j 列安放一个皇后: 如果在列、主对角线、次对角线方向有其它皇后,则出现攻击,撤消在第 j 列安放的皇后。 如果没有出现攻击,在第 j 列安放的皇后不动,递归安放第 i+1行皇后。 设置 4 个数组 col [n] :col[i] 标识第 i 列是否安放了皇后 md[2n-1] : md[k] 标识第 k 条主对角线是否安放了皇后 sd[2n-1] : sd[k] 标识第 k 条次对角线是否安放了皇后 q[n] : q[i] 记录第 i 行皇后在第几列 void Queen( int i ) { for ( int j = 0; j n; j++ ) { if ( 第 i 行第 j 列没有攻击 ) { 在第 i 行第 j 列安放皇后; if ( i == n-1 ) 输出一个布局;
您可能关注的文档
- 液压基础知识详解(经典培训教材).ppt
- 液压 传动第27讲.ppt
- 液态金属成形原理(第六章).ppt
- 液化气脱硫醇碱液高效再生技术交流稿200912版(外发精简版).ppt
- 液态鸡蛋新品发布会实施建议案.ppt
- 液晶显示器经典论文.doc
- 液相色谱议操作过程.ppt
- 液态金属成型 2.10 离心铸造.pptx
- 淄博四中 生物必修三月考(第一章+第二张前三节)复习课件.ppt
- 淄博2015高三二模 地理.ppt
- 小家电公司促销员管理手册实用指南.docx
- 2026年人工智能在零售行业的应用报告及数据分析应用.docx
- 初中生物教学中生物多样性保护教学设计课题报告教学研究课题报告.docx
- 邢台市南和县2025-2026学年第二学期四年级语文期中考试卷(部编版含答案).docx
- 2026年家居行业企业微信解决方案报告.docx
- 学生个性化评价体系构建与大数据技术融合研究教学研究课题报告.docx
- 小班第一学期班级工作计划报告.docx
- 基于生成式AI的教育教学资源库建设与成果转化研究教学研究课题报告.docx
- 初中英语听力材料中朋友交往话题的幽默表达与听力语境把握难度分析课题报告教学研究课题报告.docx
- 2026年汽车后市场服务现状与未来趋势报告.docx
原创力文档

文档评论(0)