public class Damenproblem {
public static void main(String[] args) {
int size = 8;
String feld[][] = new String[size][size];
int treffer = 0;
feld_initialisieren(feld, size); //Feld mit Nullen füllen
//Felder erzeugen, deren x Werte und Differenzen unterschiedlich sind
for (int h = 0; h < size; h++){
for (int i = 0; i < size; i++){
if (i != h && diff(h, 0) != diff(i, 1)){
for (int j = 0; j < size; j++){
if (j != i && j != h && diff(j, 2) != diff(i, 1) && diff(j, 2) != diff(h, 0) ){
for (int k = 0; k < size; k++){
if (k != j && k!= i && k != h && diff(k, 3) != diff(j, 2) && diff(k, 3) != diff(i, 1) && diff(k, 3) != diff(h, 0)){
for (int l = 0; l < size; l++){
if (l != k && l != j && l != i && l != h && diff(l, 4) != diff(k, 3) && diff(l, 4) != diff(j, 2) && diff(l, 4) != diff(i, 1) && diff(l, 4) != diff(h, 0)){
for (int m = 0; m < size; m++){
if (m != l && m != k && m != j && m != i && m != h && diff(m, 5) != diff(l, 4) && diff(m, 5) != diff(k, 3) && diff(m, 5) != diff(j, 2) && diff(m, 5) != diff(i, 1) && diff(m, 5) != diff(h, 0)){
for (int n = 0; n < size; n++){
if (n != m && n != l && n != k && n != j && n != i && n != h && diff(n, 6) != diff(m, 5) && diff(n, 6) != diff(l, 4) && diff(n, 6) != diff(k, 3) && diff(n, 6) != diff(j, 2) && diff(n, 6) != diff(i, 1) && diff(n, 6) != diff(h, 0)){
for (int o = 0; o < size; o++){
if (o != n && o != m && o != l && o != k && o != j && o != i && o != h && diff(o, 7) != diff(n, 6) && diff(o, 7) != diff(m, 5) && diff(o, 7) != diff(l, 4) && diff(o, 7) != diff(k, 3) && diff(o, 7) != diff(j, 2) && diff(o, 7) != diff(i, 1) && diff(o, 7) != diff(h, 0)){
feld[0][h] = "X";
feld[1][I] = "X";
feld[2][j] = "X";
feld[3][k] = "X";
feld[4][l] = "X";
feld[5][m] = "X";
feld[6][n] = "X";
feld[7][o] = "X";
treffer += pruefen(feld, size);
feld_initialisieren(feld, size);
}}}}}}}}}}}}}}}
System.out.println();
System.out.println(treffer + " Möglichkeiten");
}