#include <stdio.h>
#include<math.h>
#define N 4
static int sum;
static int x[N];
int place(int k)
{
int j;
for (j = 0; j < k; j ++)
if (x[j] == x[k] || abs(j - k) == abs(x[j] - x[k]))
return 0;
return 1;
}
void chessboard()
{
int i,j;
int site[N];
printf("第%d种解法:\n", ++ sum);
for (i = 0; i < N; i ++) {
for (j = 0; j < N; j ++)
if (j == x[i]) {printf("Q ");site[i]=j+1;
}
else printf("* ");
printf("\n");
}
printf("A%d(",sum);
for(i = 0; i < N; i ++)
{
printf("%d,",site[i]);
}
printf(");");
printf("\n");
}
void backtrack()
{
int k = 0;
x[0] = -1;
while (k >= 0) {
x[k] += 1;
while ((x[k] < N) && !(place(k))) x[k] += 1;
if (x[k] < N)
if (k == N - 1) chessboard();
else x[++ k] = -1;
else k --;
}
}
int main(void)
{
backtrack();
printf("%d皇后有%d个解:\n",N,sum);
return 0;
}
huanghou.rar_queen
版权申诉
54 浏览量
2022-09-21
19:14:59
上传
评论
收藏 591B RAR 举报
邓凌佳
- 粉丝: 65
- 资源: 1万+
最新资源
- 抽取地下水对加州约塞米蒂国家公园山地湿地复合体可持续性的影响
- C++vector介绍及详细使用示例(源代码)
- java基于GUI的简单记事本
- 指纹识别-基于OpenCV实现的指纹识别算法-附项目源码.zip
- 206693250008_R01C02_Grn.idat
- 瞳孔跟踪-基于OpenCV+网络摄像头的瞳孔跟踪算法实现-附项目源码+流程教程-优质项目分享.zip
- ModStartCMS v8.4.0 框架稳定性持续迭代,修复部分已知问题
- bleder 教室学校学生教育室办公室考试
- 人脸检测-使用OpenCV实现的动漫+漫画人脸检测算法-附项目源码-优质项目实战.zip
- 道路贴图,材质材料免费
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈