Pagini recente » Cod sursa (job #1134659) | Cod sursa (job #2805536) | Cod sursa (job #1432446) | Cod sursa (job #215868) | Cod sursa (job #2000019)
#include <iostream>
#include <fstream>
using namespace std;
int n,s,v[14],d1[27],d2[27],c[14];
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
void pr (int l,int i,int k)
{
if(k==1)v[l]=i;
else v[l]=0;
d1[l-i+n]+=k;
d2[l+i-1]+=k;
c[i]+=k;
}
void gts (int l)
{
int ok,i,j,k;
if(l>n)
{
s++;
if(s==1)
{
for(i=1;i<=n;i++)fout<<v[i]<<" ";
fout<<"\n";
}
}
else
{
for(i=1;i<=n;i++)
{
if(!c[i]&&!d1[l-i+n]&&!d2[i+l-1])
{
pr(l,i,1);
gts(l+1);
pr(l,i,-1);
}
}
}
}
int main()
{
fin>>n;
gts(1);
fout<<s;
return 0;
}