Pagini recente » Cod sursa (job #390242) | Cod sursa (job #2919588) | Cod sursa (job #3176221) | Cod sursa (job #1685704) | Cod sursa (job #1897494)
#include <fstream>
using namespace std;
ifstream fin ("damesah.in");
ofstream fout("damesah.out");
#define NMAX 101
int n, s[NMAX], d[NMAX], sd[NMAX], v[NMAX], z;
void rez (int k)
{
if (k == n + 1)
{
z++;
if (z == 1)
{
for (int i = 1; i <= n; ++i)fout << s[i] << ' ';
fout <<'\n';
}
}
else
{
for (int i = 1; i <= n; i++)
{
if (!v[i] && !d[k + i] && !sd[k - i + 13])
{
s[k] = i;
d[k + i] = sd[k - i + 13] = v[i] = 1;
rez (k + 1);
d[k + i] = sd[k - i + 13] = v[i] = 0;
}
}
}
}
int main()
{
fin >> n;
rez(1);
fout << z;
return 0;
}