Pagini recente » Cod sursa (job #425119) | Cod sursa (job #2647021) | Cod sursa (job #2596369) | Cod sursa (job #826563) | Cod sursa (job #2886410)
#include <fstream>
using namespace std;
ofstream fout("damesah.out");
int n;
long long cnt = 0;
bool c[20],l[20],d1[20],d2[20];
int q[20];
void bkt(int poz) {
if (poz == n) {
if (cnt == 0) {
for (int i = 0;i < n;i++)
fout << q[i] + 1 << " ";
fout << '\n';
}
cnt++;
return;
}
for (int i = 0;i < n;i++) {
if (!c[i] && !d1[i - poz + n - 1] && !d2[i + poz]) {
q[poz] = i;
c[i] = d1[i - poz + n - 1] = d2[i + poz] = 1;
bkt(poz + 1);
c[i] = d1[i - poz + n - 1] = d2[i + poz] = 0;
}
}
}
int main()
{
ifstream fin("damesah.in");
fin >> n;
bkt(0);
fout << cnt;
return 0;
}