Pagini recente » Cod sursa (job #1909658) | Cod sursa (job #1682319) | Cod sursa (job #2410186) | Cod sursa (job #2944569) | Cod sursa (job #1404748)
#include <stdio.h>
#include <stdlib.h>
int v[17],f[17],perm=0,fl=0;
void bkt(int k,int n,int p)
{
int i,j,z=1;
if(p>k){
for(i=1; i<k; i++)
for(j=i+1; j<=k; j++)
if(j-i==abs(v[j]-v[i]))
z=0;
if(z==1)
perm++;
if(z==1 && fl==0){
for(i=1; i<=k; i++)
printf("%d ",v[i]);
printf("\n");
fl=1;
}
}
else
{
for(v[p]=1; v[p]<=n; v[p]++)
{
if(f[v[p]]==0){
f[v[p]]=1;
bkt(k,n,p+1);
f[v[p]]=0;
}
}
}
}
int main()
{
int i,n;
freopen("damesah.in","r",stdin);
freopen("damesah.out","w",stdout);
scanf("%d",&n);
bkt(n,n,1);
printf("%d\n",perm);
return 0;
}