首页 > 其他 > 详细

nqueen

时间:2020-03-22 22:35:23      阅读:54      评论:0      收藏:0      [点我收藏+]

n皇后

#include<iostream>
#include<math.h> 
#include<algorithm> 
#include<string>
#include<string.h>
#include<sstream> 
using namespace std;
const int maxn=1e3+10;
 int n,m;
int rec[maxn]; 
int cnt=0;
int dfs( int row)
{
	if(row==n)
	{
		cnt++;
		for(int i=0;i<n;i++) 
		{
			for(int j=0;j<n;j++)
			{
				if(j==rec[i])cout<<1<<" ";
				else cout<<"0"<<" ";
			}
			cout<<endl;
		}
		return 1;
	}
	for(int col=0;col<n;col++)
	{
		int ok=1;
		for(int i=0;i<row;i++){
			if(rec[i]==col||i+rec[i]==row+col||row-col==i-rec[i]){
				ok=0;
				break;
			}
		}
	
	if(ok)
	{
		rec[row]=col;//row等于列 
		dfs(row+1);
	}
}}

int main()
{
    n=4;
	dfs(0);
	cout<<cnt;
}

技术分享图片

nqueen

原文:https://www.cnblogs.com/shenxiaodou/p/12548650.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!