N皇后

来源:互联网 发布:广州网络推广公司 编辑:程序博客网 时间:2024/04/28 13:27
#include<iostream>
#include<cmath>
using namespace std;
int N;
int Nqueen(int k);
int queenpos[100];
int main()
{
cin>>N;
Nqueen(0);
return 0;
}
int Nqueen(int k)
{
int i;
if(k==N)
{
for(i=0;i<N;i++)
cout<<queenpos[i]+1<<" ";
cout<<endl;
return 0;
}
for(i=0;i<N;i++)
{
int j;
for(j=0;j<k;j++)
{
if(queenpos[j]==i||abs(queenpos[j]-i)==abs(k-j))
{
break;
}
}
if(j==k)
{
queenpos[j]=i;
Nqueen(k+1);
}
}
}
0 0
原创粉丝点击