Cod sursa(job #867095)

Utilizator paulhelmerPaul Helmer paulhelmer Data 29 ianuarie 2013 09:43:59
Problema Dame Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#include <math>
using namespace std;
int x[100],n, k1=0;
ifstream f("dame.in");
ofstream g("dame.out");
void afisare (int k)
{
	int i;
	for(i=1; i<=k; i++) g << i << " " << x[i] << "\n";
	g << "\n";
}
int valid (int k)
{
	int i;
	if(k1!=1){
	for(i=1; i<=k-1; i++)
	{
		if(x[k]==x[i]) return 0;
		if(abs(x[i]-x[k])==abs(i-k)) return 0;
	}
	return 1;}
	return 0;
}
void back (int k)
{
	int i;
	for (i=1; i<=n; i++)
	{x[k]=i;
	if (valid(k))
		if(k==n) {afisare(k);k1=1;}
		       else back(k+1);
	}
}
int main ()
{

	f >> n;
	back(1);
	return 0;
}