Pagini recente » Cod sursa (job #67023) | Cod sursa (job #939278) | Cod sursa (job #2363116) | Cod sursa (job #1798160) | Cod sursa (job #2661532)
#include <fstream>
#include <cmath>
#include <stdlib.h>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n, x[15], ct = 0;
bool sol(int k)
{
return k == n;
}
bool ok(int k)
{
for(int i = 1; i < k; i++)
if(x[k] == x[i] || abs(x[k] - x[i]) == abs(k - i) )
return 0;
return 1;
}
void Complete(int k)
{
for(int i = 1; i <= k; i++)
fout << x[i] <<' ';
fout<<'\n';
}
void Back(int k)
{
for(int i = 1; i <= n; i++)
{
x[k] = i;
if(ok(k))
{
if(sol(k))
{
if(ct == 0)
Complete(k);
ct++;
}
else
{
Back(k + 1);
}
}
}
}
int main()
{
fin >> n;
Back(1);
fout << ct;
return 0;
}