Pagini recente » Cod sursa (job #620944) | Cod sursa (job #2468618) | Cod sursa (job #3148745) | Cod sursa (job #1877375) | Cod sursa (job #3164789)
#include <bits/stdc++.h>
using namespace std;
string file = "damesah";
ifstream fin(file + ".in");
ofstream fout(file + ".out");
int v[15], n;
bool col[15], *d1, *d2;
bool afis = false;
int res = 0;
void back(int k) {
if (n + 1 == k) {
if (!afis) {
afis = true;
for (int i = 1; i <= n; i++)
fout << v[i] << ' ';
fout << '\n';
}
res++;
return;
}
for (int i = 1; i <= n; i++) {
if (col[i] || d1[k - i] || d2[i + k])
continue;
v[k] = i;
col[i] = d1[k - i] = d2[i + k] = true;
back(k + 1);
col[i] = d1[k - i] = d2[i + k] = false;
}
}
int main() {
fin >> n;
d1 = new bool[31];
d1 += 15;
d2 = new bool[31];
d2 += 15;
back(1);
fout << res;
return 0;
}