Pagini recente » Cod sursa (job #2184239) | Cod sursa (job #312959) | Cod sursa (job #2274801) | Cod sursa (job #2175128) | Cod sursa (job #3347809)
#include <fstream>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n, nr;
int sol[14],solutii;
int ok;
bool valid(int k) {
for (int i = 1; i < k; i++) {
if (sol[i] == sol[k] || abs(sol[i] - sol[k]) == abs(i - k))
return false;
}
return true;
}
void bkt(int k) {
if (k > n) {
ok ++;
nr++;
if (ok == 1) {
for (int i = 1; i <= n; i++) cout << sol[i] << ' ';
cout << '\n';
}
}
else {
for (int i = 1; i <= n; i++) {
sol[k] = i;
if (valid(k)) {
bkt(k + 1);
}
}
}
}
int main() {
cin >> n;
bkt(1);
cout << nr << '\n';
}