Pagini recente » Cod sursa (job #1079732) | Cod sursa (job #2505941) | Cod sursa (job #911549) | Cod sursa (job #2449409) | Cod sursa (job #1692435)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int st[14], n, sol=0,i,j;
void tip()
{
// int i;
for (i=1; i<=n; ++i)
fout<<st[i]<<" ";
}
int valid (int k)
{
// int i;
for (i=1; i<k; ++i)
if (abs(st[k]-st[i])==k-i||st[i]==st[k])
return 0;
return 1;
}
void back(int k)
{
int i;
for (i=1; i<=n; ++i)
{
st[k]=i;
if (valid(k))
if (k==n)
{
sol++;
if (sol==1)
//tip();
for (j=1; j<=n; ++j)
fout<<st[j]<<" ";
}else
back(k+1);
}
}
int main()
{
fin>>n;
back(1);
fout<<"\n"<<sol;
fout.close();
return 0;
}