Nov
28
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void queens(int i);
bool promising(int i);
int n;
int *col;
int main()
{
printf(“Insert Number…n”);
printf(“Insert : “);
scanf(“%d”, &n);
col = (int *)malloc(n * sizeof(int));
queens(0);
return 0;
}
void queens(int i)
{
int j, tmp;
if(promising(i))
if(i == N) {
for(tmp = 1; tmp <= N; tmp++)
printf(“%d “, col[tmp]);
printf(“n”);
}
else
for(j = 1; j <= N; j++) {
col[i + 1] = j;
queens(i + 1);
}
}
bool promising(int i)
{
int k;
bool result;
k = 1;
result = true;
while(k < i && result) {
if(col[i] == col[k] || abs(col[i] – col[k]) == i – k)
result = false;
k++;
}
return result;
}