Cod sursa(job #1202691)

Utilizator enedumitruene dumitru enedumitru Data 29 iunie 2014 11:11:23
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
using namespace std;
ifstream f("damesah.in"); ofstream g("damesah.out");
int n,nr,k,x[15];
void afis()
{	nr++;
	if(nr==1) {for(int i=1;i<=n;i++) g<<x[i]<<" "; g<<"\n";}
}
int cont(int k)
{	int i,d;
	for(i=1;i<k;i++)
	{	if(x[i]==x[k]) return 0;
		if(x[i]<x[k]) d=x[k]-x[i]; else d=x[i]-x[k];
		if(k-i==d) return 0;
	}
	return 1;
}
void back()
{	k=1; x[k]=0;
	do
	{	while(x[k]<n)
		{	x[k]++;
			if(cont(k))
				if(k==n) afis(); else x[++k]=0;
		}
		k--;
	}
	while(k);
}
int main()
{	f>>n;
	back();
	g<<nr<<"\n"; g.close(); return 0;
}