Pagini recente » Cod sursa (job #1783972) | Cod sursa (job #928669) | Cod sursa (job #2824889) | Cod sursa (job #847139) | Cod sursa (job #1787636)
#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];
int jo(int l)
{
int ok=1;
int i;
for(i=1;i<=l-1;i++)
{
if(x[l]==x[i])
{
ok=0;
break;
}
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)
{
s[i]=1;
x[lep]=i;
if(jo(lep))
{
if(lep==n) kiir();
else back2(lep+1);
}
s[i]=0;
}
}
}
int main()
{
fin>>n;
back2(1);
fout<<"\n"<<db;
}