八皇后问题

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; 
} 
相关推荐
2301_822703203 分钟前
开源鸿蒙跨平台Flutter开发:跨端图形渲染引擎的类型边界与命名空间陷阱:以多维雷达图绘制中的 dart:ui 及 StrokeJoin 异常为例
算法·flutter·ui·开源·图形渲染·harmonyos·鸿蒙
y = xⁿ4 分钟前
【LeetCode Hot100】双指针:分离指针
算法·leetcode
学习永无止境@5 分钟前
Verilog中有符号数计算
图像处理·算法·fpga开发
6Hzlia9 分钟前
【Hot 100 刷题计划】 LeetCode 41. 缺失的第一个正数 | C++ 原地哈希题解
c++·leetcode·哈希算法
十五年专注C++开发12 分钟前
达梦数据库在Linux备份报错 -8003: 缺少本地或者远程归档 解决方案
数据库·c++·dm·备份复原
yy_xzz30 分钟前
【Linux开发】I/O 复用:select 模型
linux·c++·select
小肝一下37 分钟前
每日两道力扣,day6
数据结构·c++·算法·leetcode·双指针·hot100
ByteCraze37 分钟前
大四双非春招学习记录-K 个一组反转链表
数据结构·学习·链表
奶人五毛拉人一块42 分钟前
模板与vector的学习
数据结构·学习·迭代器·vector·模板