n 皇后问题
创始人
2024-04-15 06:01:56
0

题目描述
在 n*n 格的国际象棋上摆放 个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同
一列或同一斜线上,如下图(a)所以示

(b)是一个可行解,用序列 2 4 1 3 来表示,第 i 个数表示在第 i 行的相应位置有一个棋子。 这只是 4 皇后问题的一个解。请编一个程序找出 n 皇后的所有解。

输入格式
一行一个整数 n。

输出格式
按题目所说的序列方法输出,解按字典顺序排列。请输出前 3 个解(不足 3 个就全部输出)。最后一行是解的总个数。

样例
样例输入

4
样例输出

2 4 1 3
3 1 4 2
2
数据范围与提示
N <= 20

#include
using namespace std;
int w[50],a[25],z[25],n[50],f;
int m;
void dfs(int step){if(step==f+1){m++;if(m<=3){for(int i=1;i<=f;++i){cout<for(int i=1;i<=f;++i){if(z[i]==0&&w[step-i+f]==0&&n[step+i]==0){a[step]=i;z[i]=1;w[step-i+f]=1;n[step+i]=1;dfs(step+1);z[i]=0;w[step-i+f]=0;n[step+i]=0;}}}
}
int main(){freopen("B.in","r",stdin);freopen("B.out","w",stdout);cin>>f;dfs(1);cout<

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...