📄 main.cpp
字号:
#include<iostream>
#include<cmath>
using namespace std;
int *x;
int result=0;
bool Islegal(int k)
{
for(int i=0;i<k;i++)
if(x[i]==x[k] || abs(i-k)==abs(x[i]-x[k]))
return false;
return true;
}
void Queen(int k,int n)
{
int i;
if(k>=n)
result++;
for(i=0;i<n;i++)
{
x[k]=i;
if(Islegal(k))
Queen(k+1,n);
}
}
int main()
{
int cases;
while(cin>>cases)
{
int *a,*b,i;
a=new int[cases];
b=new int[cases];
for(i=0;i<cases;i++)
{
result=0;
cin>>a[i];
x=new int[a[i]];
Queen(0,a[i]);
b[i]=result;
}
for(i=0;i<cases;i++)
cout<<b[i]<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -