Pagini recente » Cod sursa (job #1945951) | Cod sursa (job #424380) | Cod sursa (job #1146920) | Cod sursa (job #1506251) | Cod sursa (job #1179955)
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n,NrSol,C[14],ok1,D[28],D1[28],CO[14];
inline void Afisare()
{
int i,j;
for(i=0;i<n;i++)
{
fout<<C[i]+1<<" ";
}
}
inline void Plaseaza_Regina(int k)
{
int i,j;
if(k==n&&ok1==0) {ok1=1;NrSol++;Afisare();}
else if(k==n&&ok1==1) NrSol++;
else
{
for(i=0;i<n;i++)
{
if(!CO[i] && !D[i - k + n - 1] && !D1[i+k])
{C[k]=i;
CO[i]=D1[i+k]=D[i - k + n - 1]=1;
Plaseaza_Regina(k+1);
CO[i]=D1[i+k]=D[i - k + n - 1]=0;}
}
}
}
int main()
{
fin>>n;
Plaseaza_Regina(0);
fout<<'\n'<<NrSol;
}