AYOJ N皇后问题
题目描述
![](/assets/blank.gif)
![](/assets/blank.gif)
1 #include<cstdio> 2 #include<cstring> 3 int count, N; 4 int vis[3][40]; 5 void dfs(int c) 6 { 7 if(c == N){count++;return ;} 8 for(int i=0; i<N; i++){//c行i列是否能放入 9 if(vis[0][i] == 0 && vis[1][c+i] == 0 && vis[2][c-i+N] == 0){ 10 vis[0][i] = vis[1][c+i] = vis[2][c-i+N] = 1; 11 dfs(c+1); 12 vis[0][i] = vis[1][c+i] = vis[2][c-i+N] = 0; 13 } 14 } 15 } 16 int main() 17 { 18 int a[]={0,1,0,0,2,10,4,40,92,352,724,2680,14200,73712,365596,2279184,14772512}; 19 while(~scanf("%d", &N)) 20 { 21 if(N==0)break; 22 //count = 0; 23 //memset(vis, 0, sizeof(vis)); 24 //dfs(0); 25 //printf("%d\n", count); 26 printf("%d\n",a[N]); 27 } 28 return 0; 29 }
View Code
你的任务是,对于给定的N,求出有多少种合法的放置方法。
输入格式
共有若干行,每行一个正整数N≤16,表示棋盘和皇后的数量;如果N=0,表示结束。
输出
共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。
样例输入
1
8
5
0
样例输出
1
92
10
转载于:https://www.cnblogs.com/qiu520/p/3603673.html
AYOJ N皇后问题相关推荐
- n皇后问题JS实现(N-Queens)
n皇后问题作为经典的面试题,今天在LeetCode刷到,解法比较直接,回溯递归.其他解法咱也不会.... Leetcode地址:https://leetcode.com/problems/n-quee ...
- 回溯 皇后 算法笔记_算法笔记_04_回溯
设计思想: (1)适用:求解搜索问题和优化问题. (2)搜索空间:数,节点对应部分解向量,可行解在树叶上. (3)搜索过程:采用系统的方法隐含遍历搜索树. (4)搜索策略:深度优先,宽度优先,函数优先 ...
- C语言局部搜索算法(爬山法,模拟退火法,遗传算法)求解八皇后问题
C语言局部算法求解八皇后问题 写在前面 八皇后问题及局部搜索算法 爬山法(hill-climbing searching) 算法介绍 代码实现 退火法(simulated annealing) 算法介 ...
- 递归/回溯:八皇后问题N-Queens
N皇后问题是计算机科学中最为经典的问题之一,该问题可追溯到1848年,由国 际西洋棋棋手马克斯·贝瑟尔于提出了8皇后问题. 将N个皇后放摆放在N*N的棋盘中,互相不可攻击,有多少种摆放方式,每种摆 放 ...
- 八皇后的一个回溯递归解法
解法来自严蔚敏的数据结构与算法. 代码如下: #include <iostream> using namespace std; const int N = 8;//皇后数 int coun ...
- Prolog学习:数独和八皇后问题
上一篇简单介绍了下Prolog的一些基本概念,今天我们来利用这些基本概念解决两个问题:数独和八皇后问题. 数独 数独是一个很经典的游戏: 玩家需要根据n×n盘面上的已知数字,推理出所有剩余空格的数字, ...
- N皇后问题的位运算求解——目前最快的方法
核心代码如下: 1 void test(int row, int ld, int rd) 2 { 3 int pos, p; 4 if ( row != upperlim ) 5 { 6 pos = ...
- UVa 167(八皇后)、POJ2258 The Settlers of Catan——记两个简单回溯搜索
UVa 167 题意:八行八列的棋盘每行每列都要有一个皇后,每个对角线上最多放一个皇后,让你放八个,使摆放位置上的数字加起来最大. 参考:https://blog.csdn.net/xiaoxiede ...
- 带你轻而易举的学习python——八皇后问题
首先我们来看一下这个著名的八皇后问题 八皇后问题:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法. 在这个问题提出之后人们又将 ...
最新文章
- Iconfont使用手册
- 学学python(4):面向对象及类,模块
- 多线程之实现Runnable接口及其优点
- JS基础--Date.parse(),Date.UTC()和Date.now()
- Oracle开源Fn,加入Serverless之争
- flink入门案例之WordCount
- centos下yum安装lamp
- [bzoj1855][Scoi2010]股票交易_动态规划_单调队列
- 机器学习:模型评估与选择:性能度量——代价敏感错误率与代价曲线
- Maven常用命令_飘云羽逸_新浪博客
- 遛狗牵绳AI识别实时监测助力智慧城市
- python爬虫爬取拉勾网招聘信息
- 差距:我是如何一步步落后于别人
- tt作曲家简谱打谱软件_每个人的本地作曲家! 会议友好的满意设置
- 如何压缩动态图片大小?gif图太大了怎么压缩?
- MLC转成SLC模式没有想象的那么好
- 在火狐浏览器上安装Tampermonkey和Greasy Fork和使用iciba划词翻译
- 台达0.4KW伺服上电报AL013
- python 异步加载图片_Python 爬取拉钩网异步加载页面
- Linux磁盘空间释放
热门文章
- 【Asp.Net】C#中checked关键字的应用
- Linux常用命令大全(三)
- SuperMap_iClient3D_10.2.1_for_WebGL下载
- alan turing_深入探讨Alan Turing的生活和遗产:5本及更多书籍
- linux gnome_GNOME,生日快乐:喜欢这个Linux桌面的8个理由
- 猎鹰spacex_我从SpaceX中学到的关于开源的一切
- 苹果开发者修改团队名称_鼓励您的团队对项目进行更改的5步计划
- java 情侣最佳升高_2016年最佳情侣:显示经理和窗口经理
- sci写作sci写作模板_有写作错误吗? bibisco简介
- 文档加载完成覆盖_在完成文档之前,作业尚未完成