Pagini recente » Cod sursa (job #2148281) | Cod sursa (job #2965428) | Cod sursa (job #1265650) | Cod sursa (job #2247300) | Cod sursa (job #2777048)
#include <bits/stdc++.h>
using namespace std;
int n,col[20],ds[30],dr[30],v,cnt,sol[20];
ifstream fin("damesah.in");
ofstream fout("damesah.out");
void Afisare()
{
int i,j;
v=1;
for(i=1;i<=n;i++)
sol[col[i]]=i;
for(i=1;i<=n;i++)
fout<<sol[i]<<" ";
fout<<"\n";
}
void Bacc(int top)
{
if(top>n)
{
if(v==0)Afisare();
cnt++;
return;
}
for(int i=1;i<=n;i++)
{
if(col[i]==0&&ds[n-top+i]==0&&dr[n*2-i-top-1]==0)
{
col[i]=top;
ds[n-top+i]=1;
dr[n*2-i-top-1]=1;
Bacc(top+1);
col[i]=0;
ds[n-top+i]=0;
dr[n*2-i-top-1]=0;
}
}
}
int main()
{
fin>>n;
Bacc(1);
fout<<cnt;
return 0;
}