Cod sursa(job #2632633)

Utilizator llama27Asd asd llama27 Data 4 iulie 2020 11:25:27
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
//#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;

ifstream cin("damesah.in");
ofstream cout("damesah.out");


int sol[15];
int n, nr_solutii;

void bkt(int pas)
{
	if (pas == n + 1)
	{
		if (!nr_solutii)
		{
			for (int i = 1; i <= n; i++)
				cout << sol[i] << ' ';
			cout << '\n';
		}
		nr_solutii++;
	}
	else
	{
		for (int k = 1; k <= n; k++)
		{
			sol[pas] = k;

			bool ok = true;
			for (int i = 1; i < pas; i++)
				if (sol[i] == sol[pas] || abs(i - pas) == abs(sol[i] - sol[pas]))
					ok = false;

			if (ok)
			{
				bkt(pas + 1);
			}
		}
	}
}

int main()
{
	cin >> n;
	bkt(1);
	cout << nr_solutii;
}