Pagini recente » Cod sursa (job #149567) | Cod sursa (job #1348819) | Cod sursa (job #584864) | Cod sursa (job #2832920) | Cod sursa (job #2056161)
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n,cnt,st[15];
void afisare()
{
for(int i=1;i<=n;i++) cout<<st[i]<<" ";
}
int valid(int k)
{
for(int i=1;i<=k-1;i++)
if((st[k]==st[i]) || (abs(st[k]-st[i])==abs(k-i))) return 0;
return 1;
}
void bkt(int k)
{
if(k==n+1)
{
if(cnt==0) afisare();
cnt++;
}
else
{
for(int i=1;i<=n;i++)
{
st[k]=i;
if(valid(k)==1)
{
bkt(k+1);
}
}
}
}
int main()
{
freopen("damesah.in","r",stdin);
freopen("damesah.out","w",stdout);
cin>>n;
bkt(1);
cout<<'\n'<<cnt;
return 0;
}