八皇后问题

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; 
} 
相关推荐
凡人叶枫几秒前
Effective C++ 条款03:尽可能使用 const
linux·开发语言·c++·嵌入式开发
hnjzsyjyj4 分钟前
东方博宜OJ 1010:数组元素的排序 ← 桶排序
数据结构·排序算法·桶排序
小欣加油14 分钟前
Leetcode31 下一个排列
数据结构·c++·算法·leetcode·职场和发展
凤凰院凶涛QAQ17 分钟前
《Java版数据结构 & 集合类剖析》链表与LinkedList:节点手拉手,增删不用愁
java·数据结构·链表
Cx330❀19 分钟前
【Linux网络】高性能 TCP 服务器:从多线程到线程池的架构演进与落地实践
linux·运维·服务器·网络·c++·tcp/ip·架构
c2385624 分钟前
C++的IO流深入理解(上)
开发语言·c++
炘爚28 分钟前
Phase 4:业务线程池 — IO/计算解耦
linux·c++
张小姐的猫30 分钟前
【Linux】多线程 —— 线程池 | 单例模式 | 常见锁
linux·运维·服务器·c++·单例模式·设计模式·策略模式
_日拱一卒30 分钟前
LeetCode:39组合总和
java·算法·leetcode·职场和发展
无限进步_31 分钟前
【Linux】进程状态、僵尸与孤儿、进程调度
linux·运维·服务器·开发语言·数据结构·算法