Pagini recente » Istoria paginii utilizator/hai_la_olimpiada_2019-2020_sv | Cod sursa (job #1346716) | Cod sursa (job #2323521) | Cod sursa (job #148808) | Cod sursa (job #3146771)
#include <fstream>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n,x[15],fr[15],nr;
int modul(int a)
{
if(a>0)
return a;
else
return -a;
}
int f(int pas)
{
for(int i=1;i<pas;i++)
if(modul(pas-i)==modul(x[pas]-x[i]))
return 0;
return 1;
}
void back(int pas)
{
if(pas>n)
{
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)
{
x[pas]=i;
fr[i]=1;
if(f(pas)==1)
back(pas+1);
fr[i]=0;
}
}
}
int main()
{
cin>>n;
back(1);
cout<<'\n';
cout<<nr;
return 0;
}