Pagini recente » Cod sursa (job #975110) | Cod sursa (job #869427) | Cod sursa (job #2910290) | Cod sursa (job #1194346) | Cod sursa (job #2329495)
#include <fstream>
#include <cmath>
#define len 14
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
short N, sol[len], nrsol;
bool ebun(short k)
{
for(short i = 1; i < k; ++i)
if(sol[i] == sol[k] || abs(i - k) == abs(sol[i] - sol[k]))
return false;
return true;
}
void Tipar()
{
for(short i = 1; i <= N; ++i)
out << sol[i] << ' ';
}
void back(short k)
{
for(short i = 1; i <= N; ++i)
{
sol[k] = i;
if(ebun(k))
if(k == N)
{
if(!nrsol)
Tipar();
++nrsol;
}
else back(k + 1);
}
}
int main()
{
in >> N;
back(1);
out << '\n' << nrsol;
return 0;
}