Pagini recente » Cod sursa (job #1978825) | Cod sursa (job #1754314) | Cod sursa (job #2275237) | Cod sursa (job #1924891) | Cod sursa (job #1692431)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int st[14], n, sol=0,i;
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();
}else
back(k+1);
}
}
int main()
{
fin>>n;
back(1);
fout<<"\n"<<sol;
fout.close();
return 0;
}