Pagini recente » Cod sursa (job #351977) | Cod sursa (job #2683292) | Cod sursa (job #2437212) | Cod sursa (job #1726623) | Cod sursa (job #2312287)
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int n,v[30],contor;
void tiparnita()
{
int ii;
contor++;
if(contor<=1)
{
for(ii=1;ii<=n;++ii)
fout<<v[ii]<<" ";
fout<<"\n";
}
}
bool valid(int l)
{
int j;
for(j=1;j< l;++j)
{
if(v[j]==v[l])
return false;
if(fabs(j-l)==fabs(v[j]-v[l]))
return false;
}
return true;
}
void back_on_track(int k)
{
for(int i=1;i<=n;++i)
{
v[k]=i;
if(valid(k))
{
if(k==n)
tiparnita();
else back_on_track(k+1);
}
}
}
int main()
{
fin>>n;
back_on_track(1);
fout<<contor;
return 0;
}