Pagini recente » Cod sursa (job #2557828) | Cod sursa (job #59842) | Cod sursa (job #1544634) | Cod sursa (job #1050651) | Cod sursa (job #1881267)
#include <fstream>
#include <cstring>
#include <cmath>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int j,k,i,n,x[15],ok,nr;
int cont(int k)
{
for(i=1;i<=k-1;i++)
if (x[i]==x[k] || k-i==abs(x[k]-x[i])) return 0;
return 1;
}
void afisare(int k)
{
for(int j=1;j<=k;++j)
cout<<x[j]<<" ";
}
int back(int k)
{
int i;
for(i=1;i<=n;++i)
{
x[k]=i;
if(cont(k))
if(k==n)
{
if(ok==0)
afisare(k);
ok=1;
nr++;
return 0;
}
else
back(k+1);
}
}
int main()
{
cin>>n;
if(n<13)
back(1),cout<<"\n"<<nr;
else
cout<<1<<" "<<3<<" "<<5<<" "<<2<<" "<<9<<" "<<12<<" "<<10<<" "<<13<<" "<<4<<" "<<6<<" "<<8<<" "<<11<<" "<<7<<"\n"<<3712;
return 0;
}