八皇后【洛谷】

在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
int a[1000],b[1000],c[1000],d[1000],n,s;
void print()
{
	s++;
	for(int i=1;i<=n;i++)	cout<<a[i]<<" ";
	cout<<endl;
	return ;
}
void dfs(int i)
{
	for(int j=1;j<=n;j++)
		if(!b[j]&&!c[i+j]&&!d[i-j+n])
		{
			a[i]=j;b[j]=c[i+j]=d[i-j+n]=1;
			if(i==n)	print();
			else	dfs(i+1);
			b[j]=c[i+j]=d[i-j+n]=0;
		}
}
int main()
{
	cin>>n;
	dfs(1);
	cout<<s;
}
		
		

发布了180 篇原创文章 · 获赞 22 · 访问量 9012

猜你喜欢

转载自blog.csdn.net/qq_44622401/article/details/104290427
今日推荐