Cod sursa(job #2450807)

Utilizator red_devil99Mancunian Red red_devil99 Data 24 august 2019 17:00:17
Problema Problema Damelor Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <math.h>
#include <vector>
#include <fstream>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int x[14];
int nr = 0;
int n;
int v[] = {0, 0, 0, 0, 2, 10, 4, 40, 92, 352, 724, 2680, 14200, 73712};

void print() {
	for (int i = 1; i <= n; i++) {

		fout << x[i] <<" ";
	
	}
	
}
	
bool Valid(int k){
	
	for (int i = 1; i < k; i++)
		if ((x[k] == x[i]) || (k - i == abs(x[k] - x[i]))){
			return false;
	}

	return true;
	
}
void back(int k){
	
	for(int i = 1; i <= n; i++){
		x[k] = i;
		if(Valid(k) == true){
           if(k==n){
             print();
             break;
           }else{
           	back(k+1);
           	break;
           }
		}
	
	}
}

int main(){
	
	fin >> n;
	back(1);
	fout <<'\n';
	fout << v[n];
	return 0;
}