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;
 } 
相关推荐
啊我不会诶4 分钟前
2024ICPC西安邀请赛补题
c++·算法
ZenosDoron5 分钟前
keil软件修改字体,Asm editor,和C/C++ editor的区别
c语言·开发语言·c++
herinspace20 分钟前
如何解决管家婆辉煌零售POS中显示的原价和售价不一致?
网络·人工智能·学习·excel·语音识别·零售
山栀shanzhi26 分钟前
C/C++之:构造函数为什么不能设置为虚函数?
开发语言·c++·面试
谭欣辰33 分钟前
C++ 版Dijkstra 算法详解
c++·算法·图论
yuan1999734 分钟前
C&CG(列与约束生成)算法,来解决“风光随机性”下的微网鲁棒配置问题
c语言·开发语言·算法
_李小白43 分钟前
【AI大模型学习笔记之平台篇】第六篇:安卓开发AI工具介绍(Android CLI、Android Skill和Android Knowledge Base)
人工智能·笔记·学习
YaBingSec1 小时前
玄机靶场:供应链安全-供应链应急-Part2 通关笔记
java·笔记·安全
wayz111 小时前
Day 11 编程实战:XGBoost金融预测与调参
算法·机器学习·金融·集成学习·boosting