- 1
- 0
- 约1.09万字
- 约 10页
- 2018-03-27 发布于贵州
- 举报
【精选】八皇后算法
回溯算法的实现
(1)为解决这个问题,我们把棋盘的横坐标定为i,纵坐标定为j,i和j的取值范围是从1到8。当某个皇后占了位置(i,j)时,在这个位置的垂直方向、水平方向和斜线方向都不能再放其它皇后了。用语句实现,可定义如下三个整型数组:a[8],b[15],c[24]。其中:
a[j-1]=1 第j列上无皇后
a[j-1]=0 第j列上有皇后
b[i+j-2]=1 (i,j)的对角线(左上至右下)无皇后
b[i+j-2]=0 (i,j)的对角线(左上至右下)有皇后
c[i-j+7]=1 (i,j)的对角线(右上至左下)无皇后
c[i-j+7]=0 (i,j)的对角线(右上至左下)有皇后
(2)为第i个皇后选择位置的算法如下:
for(j=1;j=8;j++) /*第i个皇后在第j行*/
if ((i,j)位置为空)) /*即相应的三个数组的对应元素值为1*/
{占用位置(i,j) /*置相应的三个数组对应的元素值为0*/
if i8
为i+1个皇后选择合适的位置;
else 输出一个解
}
#include graphics.h
#include stdlib.h
#include stdio.h
#include dos.h
char n[3]={0,0};/*用于记录第几组解*/
int a[8],b[15],c[24],i
您可能关注的文档
- 【精选】八年级英语Working-with-Animals课件.ppt
- 【精选】八年级英语上学期30课的说课.ppt
- 【精选】八年级英语If-you-go-to-the-party课件.ppt
- 【精选】八年级英语I’m-going-to-be-a-basketball-player课件1.ppt
- 【精选】八年级英语The-London-Eye-is-on-your-right课件2.ppt
- 【精选】八年级英语Save-Our-World课件6.ppt
- 【精选】八年级英语下学期lesson-64a.ppt
- 【精选】八年级英语下学期lesson-87.ppt
- 【精选】八年级英语语法课件1.ppt
- 【精选】八年级英语语法课件2.ppt
- 新疆塔城地区第一高级中学2025-2026学年高一下学期学情自测物理试卷(含解析).docx
- 苏教版五年级上册数学 期中检测卷.doc
- 新疆维吾尔自治区昌吉回族自治州呼图壁县2025-2026学年九年级上学期1月期末英语试题(含解析).docx
- 新疆维吾尔自治区和田地区和田市2025-2026学年上学期八年级英语期末试卷(含解析).docx
- 四川省绵阳市游仙区2025-2026学年七年级上学期1月期末英语试题(含解析).docx
- 苏教版三年级上册数学 第三单元测试题.doc
- 四川省绵阳市梓潼县2025-2026学年八年级上学期1月期末物理试题(含解析).docx
- 四川省绵阳市盐亭县四校联考2025-2026学年八年级下学期物理学情自测(含解析).docx
- 房颤患者太极拳练习.pptx
- 苏教版五年级上册数学 期末检测卷.doc
原创力文档

文档评论(0)