Pagini recente » Cod sursa (job #2763037) | Rating Maria Badita (MariaBadita) | Cod sursa (job #328073) | Cod sursa (job #553851) | Cod sursa (job #3248012)
#include <iostream>
#include <bits/stdc++.h>
#include <fstream>
#define VMAX 15
using namespace std;
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
int regine [VMAX];
long long int nr;
int prima_diag[2*VMAX], doua_diag[2*VMAX],coloane[VMAX];
void dame(int index,int n)
{
int i,k,j;
if(index==n)
{
if(nr==0)
{
for(i=0;i<n;i++)
{
fout<<regine[i]+1<<' ';
}
fout<<'\n';
}
nr++;
return;
}
for(i=0;i<n;i++)
{
if(coloane[i]==0 && prima_diag[VMAX+i-index]==0 && doua_diag[index+i]==0)
{
regine[index]=i;
coloane[i]=prima_diag[VMAX+i-index]=doua_diag[index+i]=1;
dame(index+1,n);
regine[index]=0;
coloane[i]=prima_diag[VMAX+i-index]=doua_diag[index+i]=0;
}
}
}
int main()
{
int n;
fin>>n;
dame(0,n);
fout<<nr<<'\n';
return 0;
}