Pagini recente » Cod sursa (job #1954637) | Cod sursa (job #2432338) | Cod sursa (job #1453816) | Cod sursa (job #1286451) | Cod sursa (job #2282772)
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
ifstream in("damesah.in");
ofstream out("damesah.out");
int n,v[100];
int a[100],b[100],c[100],val;
inline void print()
{
for(int i=1;i<=n;i++) out<<v[i]<<" ";
out<<'\n';
}
inline void bkt(int strat)
{
if(strat==n)
{
if(val==0) print();
val++;
//exit(0);
return;
}
for(int r=1;r<=n;r++)
{
int fa=r;
int fb=r-strat+50;
int fc=r+strat+50;
if(a[fa]==0 && b[fb]==0 && c[fc]==0)
{
v[strat+1]=r;
a[fa]=b[fb]=c[fc]=1;
bkt(strat+1);
a[fa]=b[fb]=c[fc]=0;
}
}
}
int main()
{
in>>n;
bkt(0);
out<<val;
return 0;
}