N皇后問題アルゴリズム遡及法
2393 ワード
#include
#include
using namespace std;
#define N 4 //
int sum=0;
int *x=new int[N+1];
bool place(int k)//
{
int i;
for(i=1; iif(x[i]==x[k] || abs(i-k)==abs(x[i]-x[k])) //
return false;
}
return true;
}
void backtrack(int t) //
{
int i=0;
if(t>N)
{
for(i=1; i<=N; i++)
cout<" ";
cout<else
{
for(i=1; i<=N; i++)
{
x[t]=i; // , 。
if(place(t))
backtrack(t+1);
}
}
}
int main()
{
backtrack(1);
cout<<" "<" "<