Pagini recente » Cod sursa (job #1527221) | Cod sursa (job #2418001) | Cod sursa (job #3261557) | Cod sursa (job #2917936) | Cod sursa (job #2091808)
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int v[15];
int n,i,nr,k;
int cond()
{
for(i=1;i<k;i++)
{
if(v[i]==v[k])
return 0;
if(abs(v[k]-v[i])==abs(i-k))
return 0;
}
return 1;
}
void afis()
{
for(i=1;i<=n;i++)
out<<v[i]<<" ";
}
void bkt()
{
k=1;
v[k]=0;
while(k>0)
{
if(v[k]<n)
{
v[k]++;
if(cond())
{
if(k==n)
{
if(nr==0)
{
afis();
}
nr++;
}
else
{
k++;
v[k]=0;
}
}
}
else
k--;
}
}
int main()
{
in>>n;
bkt();
out<<"\n"<<nr;
return 0;
}