Pagini recente » Cod sursa (job #536179) | Cod sursa (job #886888) | Cod sursa (job #2346236) | Cod sursa (job #590760) | Cod sursa (job #1614900)
#include<cstdio>
int n,pp,x;
int st[15],col[15],diag[30],diag2[30];
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;
}