Pagini recente » Cod sursa (job #1652294) | Cod sursa (job #2515478) | Cod sursa (job #238722) | Cod sursa (job #1414437) | Cod sursa (job #2532282)
#include <bits/stdc++.h>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n;
int c[14];
int nr;
bool u[14], ud1[25], ud2[25];
void bkt(int k)
{
for (int i=1;i<=n;i++)
if (!u[i] && !ud1[k+i-1] && !ud2[k+n-i])
{
c[k]=i;
u[i]=1;
ud1[k+i-1]=1;
ud2[k+n-i]=1;
if (k==n)
{
if (!nr)
{
for (int j=1;j<=n;j++)
g<<c[j]<<" ";
g<<"\n";
}
nr++;
}
else
bkt(k+1);
u[i]=0;
ud1[k+i-1]=0;
ud2[k+n-i]=0;
}
}
int main()
{
f>>n;
bkt(1);
g<<nr;
return 0;
}