Pagini recente » Cod sursa (job #916419) | Cod sursa (job #875076) | Cod sursa (job #2625800) | Cod sursa (job #1937001) | Cod sursa (job #1614896)
#include<cstdio>
int n,pp,x;
int st[15],col[15],diag[15],diag2[15];
void back(int k)
{if(k==n+1)
{int i;
if(pp==0)
{for(i=1;i<=n;i++)
printf("%d ",st[i]);
printf("\n");
pp=1;
}
x++;
}
else
{int i;
for(i=1;i<=n;i++)
if(col[i]==0&&diag[i+k-1]==0&&diag2[k+n-i]==0)
{st[k]=i;
col[i]=1;
diag[i+k-1]=1;
diag2[k+n-i]=1;
back(k+1);
col[i]=0;
diag[i+k-1]=0;
diag2[k+n-i]=0;
}
}
}
int main ()
{freopen ("damesah.in","r",stdin);
freopen ("damesah.out","w",stdout);
scanf("%d",&n);
back(1);
printf("%d",x);
return 0;
}