Pagini recente » Cod sursa (job #1278108) | Cod sursa (job #198464) | Cod sursa (job #460834) | Cod sursa (job #380002) | Cod sursa (job #1787673)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
bool ok=1;
int n,x[14],db,s[14],fa[26],ma[26];
int jo(int l)
{
int ok=1;
int i;
for(i=1;i<=l-1;i++)
{
if(abs(x[l]-x[i])==abs(l-i))
{
ok=0;
break;
}
}
return ok;
}
void kiir()
{
int i,j;
if(ok==1)
{
ok=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(x[i]==j)
{
fout<<j<<" ";
break;
}
}
}
}
db++;
}
int back2(int lep)
{
int i;
for(i=1;i<=n;i++)
{
if(s[i]==0 && fa[i+lep]==0 && ma[i-lep+8]==0)
{
ma[i-lep+8]=1;
fa[i+lep]=1;
s[i]=1;
x[lep]=i;
if(1)
{
if(lep==n) kiir();
else back2(lep+1);
}
s[i]=0;
fa[i+lep]=0;
ma[i-lep+8]=0;
}
}
}
int main()
{
fin>>n;
back2(1);
fout<<"\n"<<db;
}