八皇后问题

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int cnt,n=8,a[15],b[105],c[105],d[105];
void dfs(int x)
{
	if(x==9)
	{
		cnt++;
		for(int i=1;i<=n;i++)
		{
			cout<<a[i]<<" ";
		}
		cout<<endl;
		return ;
	}
	for(int i=1;i<=n;i++)
	{
		if(b[i]==0&&c[i+x]==0&&d[i-x+7]==0)
		{
			b[i]=1;
			c[i+x]=1;
			d[i-x+7]=1;
			a[x]=i;
			dfs(x+1);
			b[i]=0;
			c[i+x]=0;
			d[i-x+7]=0;
		}
	}
}
int main()
{
	dfs(1);
	cout<<cnt;
	return 0; 
} 
相关推荐
leiming67 分钟前
C++ 02 函数模板案例
开发语言·c++·算法
自然常数e32 分钟前
深入理解指针(6)
c语言·数据结构·算法·visual studio
Xの哲學33 分钟前
Linux VxLAN深度解析: 从数据平面到内核实现的全面剖析
linux·服务器·算法·架构·边缘计算
TL滕36 分钟前
从0开始学算法——第十八天(分治算法练习)
笔记·学习·算法
一杯美式 no sugar39 分钟前
数据结构——栈
c语言·数据结构·
我不会插花弄玉44 分钟前
string类-上【由浅入深-C++】
c++
添砖java‘’1 小时前
Linux信号机制详解:从产生到处理
linux·c++·操作系统·信号处理
月明长歌1 小时前
【码道初阶】【LeetCode 958】判定完全二叉树:警惕 BFS 中的“管中窥豹”陷阱
算法·leetcode·宽度优先
MC皮蛋侠客1 小时前
Linux C++使用GDB调试动态库崩溃问题完全指南
linux·c++
超轶绝尘1 小时前
C++学习笔记 23 宏 Macro
c++