Pagini recente » Cod sursa (job #1415098) | Cod sursa (job #372883) | Cod sursa (job #1244447) | Cod sursa (job #2238012) | Cod sursa (job #3217899)
#include <fstream>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n,x[15],fr[15],nr=0;
int modul(int x)
{
if(x>=0)
return x;
else
return -x;
}
int f(int pas)
{
for(int i=1; i<=pas-1; i++)
if(modul(pas-i)==modul(x[pas]-x[i]))
return 0;
return 1;
}
void back(int pas)
{
if(pas==n+1)
{
nr++;
if(nr==1)
for(int i=1; i<=n; i++)
cout<<x[i]<<" ";
}
else
{
for(int i=1; i<=n; i++)
if(fr[i]==0)
{
fr[i]=1;
x[pas]=i;
if(f(pas))
back(pas+1);
fr[i]=0;
}
}
}
int main()
{
cin>>n;
back(1);
cout<<'\n'<<nr;
return 0;
}