Cod sursa(job #2648216)

Utilizator BogdanTicuTicu Bogdan Valeriu BogdanTicu Data 9 septembrie 2020 14:35:43
Problema Problema Damelor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

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

int ans=0,anss[21];
int n;
int coloana[21],diagpr[21],diagsec[21];
void solve(int pos)
{
	if(pos==n+1)
	{
		ans++;
	//	if(ans==1)
	//	{
			for(int i=1;i<=n;i++)
				out<<anss[i]<<" ";
			out<<"\n";
	//	}
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(coloana[i]==0 && diagpr[pos-i+n]==0 && diagsec[pos+i]==0)
		{
			coloana[i]=1;
			diagpr[pos-i+n]=1;
			diagsec[pos+i]=1;
			anss[pos]=i;
			solve(n);
			coloana[i]=0;
			diagpr[pos-i+n]=0;
			diagsec[pos+i]=0;
		}
	}
}
int main()
{
	in>>n;
	solve(1);
	out<<ans;
	return 0;
}