Pagini recente » Cod sursa (job #3257845) | Cod sursa (job #348964) | Cod sursa (job #450595) | Cod sursa (job #358697) | Cod sursa (job #3241149)
#include <fstream>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n,nr,prima,C[15];
void afisare()
{
if(prima)
{
for(int i=1; i<=n; i++)
{
fout<< C[i] << " ";
}
fout<< "\n";
prima=0;
}
nr++;
}
int solutie(int k)
{
if(k==n)
{
return 1;
}
return 0;
}
int ok(int i, int k)
{
int j;
for(j=1; j<=k; j++)
{
if(C[j]==i || abs(C[j]-i)==(k-j))
{
break;
}
}
if(j==k)
{
return 1;
}
return 0;
}
void BACK(int k)
{
for(int i=1; i<=n; i++)
{
C[k]=i;
if(ok(i,k))
{
if(solutie(k))
{
afisare();
}
BACK(k+1);
}
}
}
int main()
{
fin>>n;
nr=0;
prima=1;
BACK(1);
fout<< nr;
return 0;
}