N皇后问题(回溯算法解法)
N皇后问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3464 Accepted Submission(s): 1599
你的任务是,对于给定的N,求出有多少种合法的放置方法。
#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;#define NUM 20
int n;
int x[NUM];
int sum; inline bool Place(int t)
{ int i; for (i=1; i<t; i++) if ((abs(t-i) == abs(x[i]-x[t])) || (x[i] == x[t])) //斜率相等或者行号相等 return false; return true;
} void Backtrack(int t)
{ int i;if (t>n) {sum++;}elsefor (i=1; i<=n; i++) {x[t] = i;if (Place(t)) Backtrack(t+1);}
} int main()
{ while (cin>>n){sum = 0;Backtrack(1);printf("%d\n", sum);}return 0;
}
N皇后问题(回溯算法解法)相关推荐
- n皇后问题python_N皇后问题—回溯算法经典例题
N 皇后是回溯算法经典问题之一.问题如下:请在一个 ni n 的正方形盘面上布置 n 名皇后,因为每一名皇后都可以自上下左右斜方向攻击,所以需保证每一行.每一列和每一条斜线上都只有一名皇后. 最简单的 ...
- java递归-八皇后问题(回溯算法)
1.八皇后问题介绍 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例.该问题是国际西洋棋棋手马克斯·贝瑟尔于 1848 年提出:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任 ...
- [Leetcode][第81题][JAVA][N皇后问题][回溯算法]
[问题描述][困难] [解答思路] 1. 主副对角线列 标记 复杂度 import java.util.ArrayDeque; import java.util.ArrayList; import j ...
- 51. N 皇后(回溯算法)
n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案. 每一种解法包含一个不同的 n 皇后问 ...
- leetcode51. N 皇后(回溯算法)
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案. 每一种解 ...
- [C语言]八皇后问题回溯算法
八皇后问题:在8×8格的国际象棋上摆放八个皇后,任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法. 将棋盘抽象为4 * 4到20 * 20大小的矩阵 输入样例: 请输入棋盘的大小(4 ...
- 回溯算法 | 追忆那些年曾难倒我们的八皇后问题
文章收录在公众号:bigsai 更多精彩干货敬请关注! 前言 说起八皇后问题,它是一道回溯算法类的经典问题,也可能是我们大部分人在上数据结构或者算法课上遇到过的最难的一道题-- 第一次遇到它的时候应该 ...
- 八皇后时间复杂度_回溯算法 | 追忆那些年曾难倒我们的八皇后问题
文章收录在公众号:bigsai,关注更多干货和学习资源 记得点赞.在看 前言 说起八皇后问题,它是一道回溯算法类的经典问题,也可能是我们大部分人在上数据结构或者算法课上遇到过的最难的一道题-- 在这里 ...
- 8皇后以及N皇后算法探究,回溯算法的JAVA实现,递归方案
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例.该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同 ...
- 8皇后以及N皇后算法探究,回溯算法的JAVA实现,递归方案(一)
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例.该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同 ...
最新文章
- java签名算法阻止 设置_java数字签名算法之RSA
- python最简单单例模式_Python单例模式的4种实现方法 | 学步园
- css 添加 referer,http中Referer和Referrer Policy
- java PKCS7Padding 加密Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法
- diffpatch升级_Tinker资源补丁原理解析
- mybatis 多租户saas_SaaS 微服务脚手架
- ArrayList非线程安全
- html页面的bug记录:简单记录几个编辑html页面遇到的问题
- 7 一阶逻辑推理(11.23,11.30)
- android摇骰子动画,Android实现微信摇骰子游戏
- 龙门浩职高计算机学校,重庆市龙门浩职业中学校|龙门浩职高是公办还是民办院校/文凭怎么样/是什么性质...
- 基于深度学习的CNN边缘检测RCF--Richer Convolutional Features for Edge Detection
- Gif动态图片怎么做?教你简单的gif合成小窍门
- 含有一般疑问句的歌_一般将来时详解,想学好英语必须要掌握的一个最重要语法...
- springcloud 加入spring session通过zuul请求session不一致问题
- Android获取所有App信息
- 51单片机 玩转按键加减切换+数码管+Proteus仿真
- 【codeforces】Round #269 ABCD
- 搭建mysql数据库脚本语言_二十二、创建数据库脚本
- 货币兑换问题--动态规划策略求解