Pagini recente » Cod sursa (job #1908727) | Cod sursa (job #2123640) | Cod sursa (job #1585787) | Cod sursa (job #1544375) | Cod sursa (job #2283325)
#include <bits/stdc++.h>
using namespace std;
int n,sol,v[15];
char col[15],mdiag[30],sdiag[30];
void backk(int poz)
{
if(poz==n+1)
{
if(sol==0)
for(int i=1;i<=n;i++) printf("%d ",v[i]);
sol++;
return;
}
else
{
for(int i=1;i<=n;i++)
{
if(col[i]) continue;
if(mdiag[i-poz+n]) continue;
if(sdiag[i+poz]) continue;
v[poz]=i;
col[i]=mdiag[i-poz+n]=sdiag[i+poz]=1;
backk(poz+1);
col[i]=mdiag[i-poz+n]=sdiag[i+poz]=0;
}
}
}
int main()
{
freopen("damesah.in","r",stdin);
freopen("damesah.out","w",stdout);
scanf("%d",&n);
backk(1);
printf("\n%d",sol);
return 0;
}