Pagini recente » Cod sursa (job #1083171) | Cod sursa (job #2819568) | Cod sursa (job #1957041) | Cod sursa (job #288885) | Cod sursa (job #1238735)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int a[15],c[15],dp[30],ds[30],n,nr_sol;
void afis()
{
for(int i=1;i<=n;i++)
fout<<a[i]<<" ";
fout<<"\n";
}
void rez(int ind)
{
if(ind==n+1)
{
nr_sol++;
if(nr_sol==1)
afis();
}
else
{
for(int i=1;i<=n;i++){
if(!c[i] && !dp[n+ind-i] && !ds[ind+i-1])
{
c[i]=dp[n+ind-i]=ds[ind+i-1]=1;
a[ind]=i;
rez(ind+1);
c[i]=dp[n+ind-i]=ds[ind+i-1]=0;
}
}
}
}
int main()
{
fin>>n;
rez(1);
fout<<nr_sol<<endl;
fin.close();
fout.close();
return 0;
}