Pagini recente » Cod sursa (job #209979) | Cod sursa (job #128835) | Cod sursa (job #1979531) | Cod sursa (job #763945) | Cod sursa (job #2016521)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int a[15],n,nr;
int valid(int k)
{
int i;
for(i=1;i<k;i++)
{
if(a[i]==a[k] || abs(a[i]-a[k])==abs(i-k))
{
return 0;
}
}
return 1;
}
void afisare()
{
int i;
for(i=1;i<=n;i++)
{
g<<a[i]<<" ";
}
g<<"\n";
}
void bkt(int k)
{
int i;
for(i=1;i<=n;i++)
{
a[k]=i;
if(valid(k)==1)
{
if(k==n)
{
nr++;
if(nr==1)
{
afisare();
}
}
else
{
bkt(k+1);
}
}
}
}
int main()
{
f>>n;
bkt(1);
g<<nr<<"\n";
return 0;
}