
public class Main3 {
public static void main(String[] args) {
Queen queen = new Queen();
queen.putQueen(0);
System.out.println(queen.getCount());
}
}
class Queen {
private int max = 8;
private int[] a = new int[max];
private int count = 0;
public void putQueen(int n) {
if (n == max) {
print();
return;
}
for (int i = 0; i < max; i++) {
a[n] = i;
boolean flag = true;
for (int j = 0; j < n; j++) {
if (a[j] == a[n] || Math.abs(n - j) == Math.abs(a[n] - a[j])) {
flag = false;
}
}
if (flag) {
putQueen(n + 1);
}
}
}
public void print() {
count++;
for (int i = 0; i < 8; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}
public int getCount() {
return count;
}
}