Cod sursa(job #1349091)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 19 februarie 2015 23:24:17
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <bitset>

using namespace std;

ifstream fin("damesah.in");
ofstream fout("damesah.out");

const int maxn = 100;

bitset <maxn> dp, ds, used;
int n, st[maxn], goodconf;

inline void back(int k) {
	if(k == n + 1) {
		if(!goodconf ++)
			for(int i = 1 ; i <= n ; ++ i)
				fout << st[i] << ' ';
		return ;
	}
	for(int i = 1 ; i <= n ; ++ i)
		if(!used[i] && !ds[k + i] && !dp[n + k - i]) {
			used[i] = ds[k + i] = dp[n + k - i] = 1;
			st[k] = i;
			back(k + 1);
			used[i] = ds[k + i] = dp[n + k - i] = 0;
		}
}

int main() {
	fin >> n;
	back(1);
	fout << '\n' <<  goodconf;
	fin.close();
	fout.close();
}