please use Java language find 1 solution for the eight queen
please use Java language
find 1 solution for the eight queens problem.
can only use a single dimensional array.
Solution
package queen;
import java.util.Arrays;
public class EightQueens {
static int[] res;
private static boolean checkToPlace(int x, int y) {
for (int i = 0; i < x; i++) {
if ((res[i] == y)|| (Math.abs(i - x) == Math.abs(res[i] - y))) {
return false;
}
}
return true;
}
private static void displayBoard(int x, int size) {
for (int i = 0; i < size; i++) {
if (checkToPlace(x, i)) {
res[x] = i;
if (x == size - 1) {
System.out.println(\"Order of \" + size + \" queens\"
+ Arrays.toString(res));
}
displayBoard(x + 1, size);
}
}
}
public static void main(String[] args) {
int n = 8;
res = new int[n];
displayBoard(0, n);
}
}
