51| 八皇后

代码实现

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int n;
const int N = 15;
bool st[N], st1[2*N], st2[2*N];
vector <int> path;
int ret;
void dfs(int x)
{
	if (x > n)
	{
		ret++;
		if(ret <= 3)
		{
			for (auto x : path) cout << x << " ";
			cout << endl;			
		}
		return ;
	}
	for (int y = 1; y <= n; y++)
	{
		if (st[y] || st1[y-x+n] || st2[y+x] ) continue;
		st[y] = st1[y-x+n] = st2[y+x] = true;
		path.push_back(y);
		dfs(x+1);
		st[y] =  st1[y-x+n] = st2[y+x] = false;
		path.pop_back();
	}
 } 
int main ()
{
	cin >> n;
	dfs(1);
	cout << ret << endl;
	return 0;
 } 
相关推荐
zephyr051 小时前
从递归到迭代:二叉树非递归前中后序遍历详解
算法
Dr.kangder1 小时前
嵌入式总线设备解析——TTE总线应用与实践
开发语言·网络·算法·嵌入式·多任务·同步机制
Hi李耶1 小时前
【LeetCode】557.反转字符串中的单词 III
算法·leetcode·职场和发展
yyy(十一月限定版)1 小时前
016【入门】双端队列
数据结构·c++
math_hongfan1 小时前
鸿蒙离线数据缓存高级架构:弱网预加载/离线数据优先级/同步冲突解决/上线后数据合并策略
学习·缓存·华为·架构·harmonyos·鸿蒙
深蓝学院1 小时前
机器人学习算法五大体系详解:模仿、强化、多模态、持续学习……
算法·机器人
划水的code搬运工小李1 小时前
Simulink学习-自定义Storage Class配置
学习
2401_858286112 小时前
OS82.【Linux】设计线程池
java·linux·运维·服务器·开发语言·算法·线程池
c238562 小时前
# Mini OJ — 项目详解文档
开发语言·数据库·c++
Epiphany.5562 小时前
找到所有好字符串(记忆化搜索+KMP)(里面含KMP模板,用来入门)
算法