Pagini recente » Cod sursa (job #723773) | Cod sursa (job #1842878) | Cod sursa (job #520759) | Cod sursa (job #1687132) | Cod sursa (job #1391296)
#include<stdlib.h>
#include<stdio.h>
int sol[14];
int contor = 0;
int n;
FILE *fIn;
FILE *fOut;
int validare(int k)
{
for (int i = 0; i < k; i++)
if (sol[i] == sol[k] || abs(i - k) == abs(sol[i] - sol[k]))
return 0;
return 1;
}
void afisare()
{
for (int i = 0; i < n; i++)
fprintf(fOut, "%d ", sol[i]);
}
void dame(int k)
{
if (k == n)
{
if (contor == 0)
afisare();
contor++;
}
for (int i = 1; i <=n; i++)
{
sol[k] = i;
if (validare(k))
dame(k + 1);
}
}
void main()
{
fIn = fopen("damesah.in", "r");
fOut = fopen("damesah.out", "w");
fscanf(fIn, "%d", &n);
dame(0);
fprintf(fOut,"\n%d", contor);
fclose(fOut);
fclose(fIn);
}