Pagini recente » Cod sursa (job #2968420) | Cod sursa (job #3225316) | Cod sursa (job #1505327) | Cod sursa (job #863677) | Cod sursa (job #1918730)
#include <cstdio>
using namespace std;
int N,sol=0;
int v[15];
int c[15],d1[30],d2[30];
void bkt (int p)
{
int i,j;
if (p==N+1)
{
if (sol==0)
{
for (i=1; i<=N; i++)
{
printf ("%d ",v[i]);
}
printf ("\n");
}
sol++;
}
else
{
for (j=1; j<=N; j++)
{
if (c[j]==0&&d1[j+N-p]==0&&d2[j+p-1]==0)
{
v[p]=j;
c[j]=d1[j+N-p]=d2[j+p-1]=1;
bkt(p+1);
c[j]=d1[j+N-p]=d2[j+p-1]=0;
}
}
}
}
int main ()
{
freopen ("damesah.in","r",stdin);
freopen ("damesah.out","w",stdout);
scanf ("%d",&N);
bkt(1);
printf ("%d\n",sol);
return 0;
}