Cod sursa(job #2197182)

Utilizator Constantin.Dragancea Constantin Constantin. Data 21 aprilie 2018 12:52:13
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#pragma GCC optimize("03")
#include <bits/stdc++.h>
using namespace std;

int n, a[15], b[15], ans;

void backtr(int q){
	if (q == n){
		ans++;
		if (b[1]) return;
		for (register int i=1; i<=n; i++) b[i] = a[i];
	}
	for (register int col = 1; col <= n; col++){
		bool flag = 1;
		for (register int sol=1; sol <= q; sol++){
			if (col == a[sol] || abs(col-a[sol]) == q + 1 - sol) flag = 0;
		}
		if (flag) a[q+1] = col, backtr(q + 1);
	}
}

int main(){
	ifstream cin ("damesah.in");
	ofstream cout ("damesah.out");
	cin >> n;
	backtr(0);
	for (register int i=1; i<=n; i++) cout << b[i] << " ";
	cout << "\n" << ans;
	return 0;
}