C语言实现“八皇后问题”
来源:互联网 发布:java nio相关书籍 编辑:程序博客网 时间:2024/05/17 23:53
#include "stdio.h"
#include "stdlib.h"
int a[9]={0};
int count=0; //计数器设置为全局变量
int Check(int n) //判断此状态是否符合
{
int i;
for(i=1;i<n;i++)
if((abs(a[i]-a[n])==abs(i-n))||(a[i]==a[n]))//不符合
return 0;
return 1;
}
void Print()
{
int j,k;
printf("坐标位置:");
for(j=1;j<=8;j++)
printf("(%d,%d) ",j,a[j]);
printf("\n");
for(k=1;k<=8;k++)//输出每一行情况
{
j=1;
while(j!=a[k])
{
printf("0 ");
j++;
}
printf("1 ");
for(j++;j<=8;j++)
printf("0 ");
printf("\n");
}
}
void Queen(int i)
{
int k;
if(i>8) //输出解
{
Print();count++;//八皇后的解数目
return ;
}
else
{
for(k=1;k<=8;k++)
{
a[i]=k;
if(Check(i)) //满足条件,回溯
Queen(i+1);
else
a[i]=0; //不满足,移走
}
}
}
int main()
{
Queen(1);
printf("解的个数为:%d\n",count);
return 0;
}
阅读全文
0 0
- 八皇后问题的C语言实现
- C语言实现“八皇后问题”
- C语言 八皇后问题
- C语言-八皇后问题
- c语言八皇后问题
- 八皇后 c语言实现
- 八皇后问题-C实现
- 八皇后问题(用c语言实现)
- 八皇后问题-回溯法-c语言
- 八皇后问题(C语言版本)
- 八皇后问题-C语言
- 八皇后问题-C语言求解
- 八皇后问题用C语言解决
- C语言八皇后冲突问题
- C语言——八皇后问题
- [C语言入门题] 八皇后问题
- 八皇后问题,C语言实现,求出第一行第一列有皇后的解
- 八皇后的C语言实现
- 系统之间通讯方式(BIO和NIO的区别)(一)
- 采用动态代理的方式对一个类进行增强
- java8中concurrentHashmap的改进
- 微信游戏5
- My configuration of Sublime Text3
- C语言实现“八皇后问题”
- 20171009_工作记录
- windows下TF完整安装流程及出错解决方案
- 关于抽象类和接口
- java 网络流 TCP Socket和SeverSocket 上传文件(字节流)
- Tensorflow一些常用基本概念与函数(1)
- Pandas 十分钟入门
- Java輸入数字反转輸出改進版
- postman测试接口出现415报错