Pagini recente » Cod sursa (job #2658407) | Cod sursa (job #1823407) | Cod sursa (job #809365) | Cod sursa (job #3166922) | Cod sursa (job #3270022)
#include <fstream>
using namespace std;
int v[15],n,sol=0;
bool s=false;
int frecv[15];
ifstream fin("damesah.in");
ofstream fout("damesah.out");
void afis()
{
int i;
for(i=1;i<=n;++i)
{
fout<<v[i]<<' ';
}
fout<<'\n';
}
bool verif(int k)
{
int i;
for(i=1;i<k;++i)
{
if(k-i==v[k]-v[i] || k-i==v[i]-v[k])
return false;
}
return true;
}
void backtr(int k)
{
int i,j;
//cout<<k<<' ';
if(k==n+1)
{
if(s==false)
{
afis();
s=true;
}
++sol;
return;
}
for(i=1;i<=n;++i)
{
if(frecv[i]==1)
continue;
frecv[i]=1;
v[k]=i;
//afis(k);
if(verif(k))
backtr(k+1);
v[k]=0;
frecv[i]=0;
}
}
int main()
{
fin>>n;
backtr(1);
fout<<sol;
return 0;
}