<Problem>
https://www.spoj.com/PTIT/problems/BCQUEEN/
#include <iostream>
using namespace std;
int n;
int PiecePos[11]{ 0 };
bool check(int i) {
for (int j = 1; j < i; j++) {
if (PiecePos[i] == PiecePos[j] || abs(j - i) == abs(PiecePos[j] - PiecePos[i])) {
return false;
}
}
return true;
}
bool Tim(int i) {
while (PiecePos[i] < n) {
PiecePos[i]++;
if (check(i)) {
return true;
}
}
return false;
}
int XepHau() {
int i = 1;
int count = 0;
while (true) {
//cout << "OK";
if (i < 1) return count;
if (i > n) {
count++;
i--;
}
bool res = Tim(i);
//cout << boolalpha << res << endl;
if (res) {
i++;
}
else {
PiecePos[i] = 0;
i--;
}
}
}
int main() {
cin >> n;
int res = XepHau();
cout << res << endl;
return 0;
}