Cod sursa(job #3147126)

Utilizator sireanu_vladSireanu Vlad sireanu_vlad Data 24 august 2023 11:46:10
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
using namespace std;

int n, a[14], t, m;
bool l[14], d1[28], d2[28];

void afis(){
	if(t!=1){
		return;
	}
	for(int i = 1; i <= n; ++i){
		cout << a[i] << ' ';
	}
	cout << '\n';
}

void sol(int k){
	if(k > n){
		t++;
		afis();
		return;
	}
	for(int i = 1; i <= n; ++i){
		if(l[i] || d1[n+k-i] || d2[i+k]){
			continue;
		}
		a[++m] = i;
		l[i] = d1[n+k-i] = d2[i+k] = 1; 
		sol(k+1);
		m--;
		l[i] = d1[n+k-i] = d2[i+k] = 0;
	}
}

int main()
{
	freopen("damesah.in","r",stdin);
	freopen("damesah.out","w",stdout);
	cin >> n;
	sol(1);
	cout << t;
	return 0;
}