N皇后( DFS,推荐)
N皇后问题
Description
Input
Output
Sample Input
Sample Output
#include<cstdio>
#include<iostream>
using namespace std; int tot,N,n,c[],b[],vis[][]; void search(int cur)
{
if(cur==n)
tot++;
else for(int i=; i<n; i++)
{
if(!vis[][i]&&!vis[][cur+i]&&!vis[][cur-i+n])
{
c[cur]=i;
vis[][i]=vis[][cur+i]=vis[][cur-i+n]=;
search(cur+);
vis[][i]=vis[][cur+i]=vis[][cur-i+n]=;
}
}
} int main()
{
for(n=; n<=; n++)
{
tot=;
search();
b[n]=tot;
}
while(scanf("%d",&N)==&&N)
printf("%d\n",b[N]); return ;
}
注:
书上有一道相似的问题是8皇后问题,中间有一段代码是书上的。
N皇后( DFS,推荐)的更多相关文章
- 八皇后(DFS)
		
题目描述 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. 对于某个满足要求的8 ...
 - 洛谷 - P1219 - 八皇后 - dfs
		
https://www.luogu.org/problemnew/show/P1219 一开始朴素检查对角线就TLE了,给对角线编码之后压缩了13倍时间? 找了很久的bug居然是&&写 ...
 - N皇后问题 各种优化
		
0.问题引入 N皇后问题是一个经典的问题,在一个N*N的棋盘上放置N个皇后,每行一个并使其不能互相攻击(同一行.同一列.同一斜线上的皇后都会自动攻击),问有多少种摆法. 题目链接:https://ww ...
 - N皇后-位运算优化
		
N皇后问题 时间限制: 5 Sec 内存限制: 128 MB 题目描述 魔法世界历史上曾经出现过一个伟大的罗马共和时期,出于权力平衡的目的,当时的政治理论家波利比奥斯指出:“事涉每个人的权利,绝不应 ...
 - 20190621-N皇后
		
N皇后 难度分类 困难 题目描述 n皇后问题研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n ...
 - Acwing 843. n-皇后问题
		
n-皇后问题是指将 n 个皇后放在 n∗n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行.同一列或同一斜线上. 现在给定整数n,请你输出所有的满足条件的棋子摆法. 输入格式 ...
 - LeetCode题目答案及理解汇总(持续更新)
		
面试算法题 dfs相关 全排列 #include<bits/stdc++.h> using namespace std; const int N = 10; //用一个path数组来存储每 ...
 - 八皇后(dfs+回溯)
		
重看了一下刘汝佳的白板书,上次写八皇后时并不是很懂,再写一次: 方法1:逐行放置皇后,然后递归: 代码: #include <bits/stdc++.h> #define MAXN 8 # ...
 - hdu 2553 N皇后问题 (经典DFS)
		
题目链接:点击链接 思路:用一维数组hang[num] = i,num表示第num行,i表示第i列,计算n = 1~10皇后的不同放置数量,然后打表 #include<stdio.h> # ...
 
随机推荐
- iframe 自适应高度、宽度
			
示例: <iframe id="zyms" frameborder="0" scrolling="yes" style="w ...
 - Fedora 17配置ssh及Windows远程连接
			
转载自:http://nanjingjiangbiao-t.iteye.com/blog/1794213 Fedora 23 默认已经安装好openssh server了,不用再装不过默认情况下没有开 ...
 - C单链表实现
			
/* * LinkNode.c * * Created on: Jan 14, 2014 * Author: root */ #include <stdlib.h> #include &l ...
 - Oracle10g--plSql命令
			
每天学点Oracle10g--plSql命令 附录B SQL*PLUS Sql*plus 中使用绑定变量: sql> variable x number; sql> exec :x := ...
 - 使用 Windows Media Center 远程控制
			
http://windows.microsoft.com/en-us/windows/getting-started-windows-media-center#getting-started-wind ...
 - HDU 1848 Fibonacci again and again
			
题解:尼姆博弈,对于1至1000计算SG函数,每次取最小的前继值,SG值异或为0则为P-position. #include <cstdio> #include <cstring&g ...
 - BZOJ 1739: [Usaco2005 mar]Space Elevator 太空电梯
			
题目 1739: [Usaco2005 mar]Space Elevator 太空电梯 Time Limit: 5 Sec Memory Limit: 64 MB Description The c ...
 - python(进程池/线程池)
			
进程池 import multiprocessing import time def do_calculation(data): print(multiprocessing.current_proce ...
 - TEX Quotes(字符串,水)
			
TEX Quotes Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9674 Accepted: 5073 Descri ...
 - SVN同步出现故障
			
1.错误描写叙述 同步SVNStatusSubscribe时报告了错误,1中的0个资源已经同步 同步/frame时错误发生:Error getting status for resourc ...