N皇后
来源:互联网 发布:怎么获取数组的长度 编辑:程序博客网 时间:2024/05/22 03:10
#include<stdio.h>
#include<stdlib.h>#include<string.h>
int n,map[11],num;//,num为全局变量,记录每一次深搜的可行解得数目,不要忘了一开始为0哦!
void dfs(int k)//深搜传递的是行数,就是第几行
{
int i,j,flag;
if(k==n+1)//
{
num++;
return ;
}
for(i=1;i<=n;i++)//列
{
map[k]=i;//map[i]标记所探索的第k行的列坐标
flag=1;
for(j=1;j<k;j++)//看看第k行之前的行的列数map【i]是否和第k行的列数相等,是否在同一斜线上
{
if(map[j]==i||j+map[j]==i+k||map[j]-j==i-k)//在同一斜线上不?
{
flag=0;//不符合,就让flag标记他,为排除他做准备
break;
}
}
if(flag)
dfs(k+1);//符合,继续深搜下一行应该在哪一列
}
}
int main()
{
int ans[11];
for(n=1;n<=10;n++)
{
num=0;
dfs(1);
ans[n]=num;
}
while(~scanf("%d",&n)&&n)
{
printf("%d\n",ans[n]);
}
return 0;
}
1 0
- n皇后
- N皇后
- N 皇后
- n皇后
- n皇后
- N皇后
- N皇后
- n皇后
- n 皇后
- N皇后
- N皇后
- N皇后
- N皇后
- n皇后
- N皇后
- N皇后
- N皇后
- N皇后
- LeetCode 144. Binary Tree Preorder Traversal 题解(C++)
- js跨域总结及解决办法
- 大整数相乘算法
- i2c 驱动二:devfs文件系统
- JSTL 练习
- N皇后
- js动态append添加的节点,点击事件无效
- 自定义开关按钮SwitchButton
- ubuntu启动器快捷方式
- Java中String...的含义
- DAY86_more detail,more easy
- 【HDU 4506 小明系列故事——师兄帮帮忙】+ 找规律
- java事件处理机制(自定义事件)
- ubuntu 上source 、sh 、bash和。/脚本运行区别