Pagini recente » Cod sursa (job #3250061) | Cod sursa (job #2308061) | Cod sursa (job #170108) | Cod sursa (job #1451178) | Cod sursa (job #1729836)
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream si("damesah.in");
ofstream so("damesah.out");
int n;
bitset<15>c;
bitset<30>dp,ds;
int sol[15];
int cont;
void gen(int lin)
{
if(lin>n)
{
if(cont==0)
{
int i;
for(i=1;i<=n;++i)
so<<sol[i]<<' ';
so<<'\n';
}
++cont;
return;
}
for(int i=1;i<=n;++i)
{
if(!c[i]&&!dp[i+n-lin]&&!ds[i+lin-1])
{
c[i]=dp[i+n-lin]=ds[i+lin-1]=1;
sol[lin]=i;
gen(lin+1);
c[i]=dp[i+n-lin]=ds[i+lin-1]=0;
}
}
}
int main()
{
si>>n;
gen(1);
so<<cont;
return 0;
}