Pagini recente » Cod sursa (job #642020) | Cod sursa (job #797901) | Cod sursa (job #79389) | Cod sursa (job #1439001) | Cod sursa (job #3270017)
#include <iostream>
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=0;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()
{
cin>>n;
backtr(1);
fout<<sol;
return 0;
}