nN皇后递归

#include <iostream>
using namespace std;
#define MaxSize 20 
int map[MaxSize];
int count;
void Nqueen (int N,int K)
{  
	if(K >N)
	{
		for(int i=1;i<=N;i++)
		{
			cout<<map[i];
		}
		printf("  ");
		return ;
	}
	else 
	{
		for(int i=1;i<=N;i++)
		{
			map[K] = i;
			for(int i=1;i<K;i++)
			{
   		      if(map[i] == map[K] ||(map[i]-map[K]) == K-i||(map[K]-map[i])==K-i)
		         {
		           break;	
				 }
				 else
				 {
				 	Nqueen(N,K+1);
				 }
            }
		}
	}
}

int main()
{
	int n;
	cin>>n;
	Nqueen(n,1);
	return 0;
}
posted @ 2019-10-15 22:06  AmosAlbert  阅读(69)  评论(0编辑  收藏  举报