Pagini recente » Cod sursa (job #1593299) | Cod sursa (job #3138) | Cod sursa (job #2038765) | Cod sursa (job #703622) | Cod sursa (job #1093798)
#include<cstdio>
using namespace std;
int sol,i,n,v[15],ap[15];
int mod(int x)
{
if(x<0) return -x;
return x;
}
bool valid(int poz)
{
int i;
for(i=1;i<poz;i++)
if(mod(i-poz)==mod(v[i]-v[poz])) return 0;
return 1;
}
void back(int poz)
{
if(poz==n+1)
{
sol++;
if(sol==1)
{
for(i=1;i<=n;i++)
printf("%d ",v[i]);
printf("\n");
}
return ;
}
for(int i=1;i<=n;i++)
if(ap[i]==0)
{
ap[i]=1;
v[poz]=i;
if(valid(poz)) back(poz+1);
ap[i]=0;
}
}
int main()
{
freopen("damesah.in","r",stdin);
freopen("damesah.out","w",stdout);
scanf("%d",&n);
back(1);
printf("%d\n",sol);
return 0;
}