Pagini recente » Cod sursa (job #2371156) | Cod sursa (job #2633387) | Cod sursa (job #1802009) | Cod sursa (job #2906301) | Cod sursa (job #2293000)
#include <bits/stdc++.h>
#define NMAX 50
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int n, x[NMAX], l[NMAX], d1[NMAX], d2[NMAX], sol;
void bkt(int k)
{
if(k-1 == n)
{
if(++sol == 1)
{
for(int i = 1; i <= n; i++) out << x[i] << ' ';
out << '\n';
}
}
else
{
for(int i = 1; i <= n; i++)
if(!l[i] && !d1[i-k+n] && !d2[i+k])
{
l[i] = 1; d1[i-k+n] = 1; d2[i+k] = 1;
x[k] = i;
bkt(k+1);
l[i] = 0; d1[i-k+n] = 0; d2[i+k] = 0;
}
}
}
int main()
{
ios_base::sync_with_stdio(0);
in.tie(0);
in >> n;
bkt(1);
out << sol;
return 0;
}