代码:
#include<iostream>
#define int long long
using namespace std;
int c[15];
int n,cnt;
int abs(int a){
return a < 0 ? -a : a;
}
void dfs(int cur){
if(cur > n){
cnt ++;
if(cnt <= 3){
for(int i = 1;i < cur;i ++){
cout<<c[i]<<" ";
}
cout<<endl;
}
return ;
}
for(int i = 1;i <= n;i ++){
bool mark = false;
for(int j = 1;j < cur;j ++){
if(abs(j-cur) == abs(c[j]-i)){
mark = true;
break;
}
if(c[j] == i){
mark = true;
break;
}
}
if(mark){
continue;
}else{
c[cur] = i;
dfs(cur + 1);
}
}
}
signed main(){
cin>>n;
dfs(1);
cout<<cnt<<endl;
return 0;
}
但是把
#define int long long
删掉,把
signed main()
改成
int main()
之后又过了