dfs——皇后问题(回溯)

时间:2023-03-09 16:19:01
dfs——皇后问题(回溯)
 #include <iostream>
using namespace std;
int a[],b[],c[],d[];
int n,sum=;
dfs(int i)
{
if(i>n)
{
sum++;
if(sum<=)
{
for(int i=;i<=n;i++)
{
cout << a[i]<< " ";
}
cout << endl;
}
}
else
{
for(int j=;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]=;
dfs(i+);
b[j]=;
c[i+j]=;
d[i-j+n]=;
}
}
}
}