#include<iostream>
using namespace std;
int a[14], b[14 * 2], c[14 * 2];
int n, ans;
int record[14];
int print(){
for (int i = 1; i <= n; i++)
cout << record[i] << ' ';
cout << endl;
}
void dfs(int now){
if (now >= n + 1){
if (ans < 3) print();
ans++;
return;
}
for (int i = 1; i <= n; i++){
if (a[i] == 0 && b[n + now - i] == 0 && c[now + i] == 0){
a[i] = 1;
b[n + now - i] = 1;
c[now + i] = 1;
record[now] = i;
dfs(now + 1);
a[i] = 0;
b[n + now - i] = 0;
c[now + i] = 0;
}
}
}
int main(){
cin >> n;
dfs(1);
cout << ans;
return 0;
}
本地没问题,提交全TLE是什么情况