#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int abs(int i)
{
if(i < 0)
return -i;
return i;
}
//대각, 수직, 수평 > 퀸들이 서로 공격하지 못하는 조건, promising
//1 > 배치 가능
//0 > 배치 불가능
int promising(int i, int col[10])
{
int j;
while (j < i)
{
if(col[i] == col[j] || abs(col[i] - col[j]) == (i - j))
return 0;
j++;
}return 1;
}
void print_solution(int col[10])
{
int i =0;
while(i < 10)
printf("%d", col[i]);
printf("\n");
}
int ten_queen(int i, int col[10], *result)
{
int j = 0;
if(i == 10){
print_solution(col);
(*result)++;
}
else{
while(j < 10)
{
col[i] = j;
if(promising(i, col))
ten_queen(i+1, col, result);
j++;
}
}
return *result;
}
int ft_ten_queens_puzzle(void)
{
int col[10] = {0};
int result = 0;
result = ten_queen(0, col, &result);
return result;
}
int main()
{
ft_ten_queens_puzzle();
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: