Cod sursa(job #2506088)

Utilizator paul3ioanCirstean Paul Ioan paul3ioan Data 7 decembrie 2019 14:38:47
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>
#define pb push_back
#define optimize ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define ll long long
#define FILEIN "damesah.in"
#define FILEOUT "damesah.out"
using namespace std;
ifstream fin(FILEIN);
ofstream fout(FILEOUT);
void citire();
bool col[15];
int ans,n,s[15];
void rez();
int modul(int x)
{
	if(x<0)
		return -x;
	return x;
}
bool valid(int k)
{
	for(int i=1;i<k;i++)
		if(modul(s[k]-s[i])==k-i)
			return false;
	return true;

}
void bkt(int);
void afis();
int main()
{
	fin>>n;
	bkt(1);		
	fout<<ans;
}
void bkt(int k)
{
	if(k==n+1)
		{
			ans++;
			if(ans==1)
				afis();
		}
	else
		for(int i=1;i<=n;i++)
		{
			if(col[i]==false)
			{
				s[k]=i;
				col[i]=true;
				if(valid(k))
					bkt(k+1);
				col[i]=false;
			}
			
		}
}
void afis()
{
	for(int i=1;i<=n;i++)
		fout<<s[i]<<" ";
	fout<<'\n';
}