Cod sursa(job #1143576)

Utilizator vladrochianVlad Rochian vladrochian Data 15 martie 2014 18:22:52
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
using namespace std;
int n,p[14],sol;
bool c[14],dp[27],dm[27];
ifstream fin("damesah.in");
ofstream fout("damesah.out");
void back(int i)
{
	for(int j=1;j<=n;++j)
		if(!c[j]&&!dp[i+j]&&!dm[i-j+n])
		{
			p[i]=j;
			c[j]=dp[i+j]=dm[i-j+n]=1;
			if(i==n)
			{
				if(!sol++)
					for(int k=1;k<=n;++k)
						fout<<p[k]<<" ";
			}
			else
				back(i+1);
			c[j]=dp[i+j]=dm[i-j+n]=0;
		}
}
int main()
{
	fin>>n;
	back(1);
	fout<<"\n"<<sol<<"\n";
	return 0;
}