hi, ich soll das n-damenproblem lösen. ich habe dabei ein problem bei einer methode.
ich soll das mithilfe der klassen board und queensproblem lösen.
hier ist der code für die klasse board:
mein problem bezieht sich auf die methode hasConflict. ich habe es geschafft zu testen, ob die damen sich in der selben reihe befinden, allerdings weiß ich nicht, wie ich die möglichen diagonalen bedrohungen filtern soll. hätte da einer/eine eine idee ? vielen dank im voraus
ich soll das mithilfe der klassen board und queensproblem lösen.
hier ist der code für die klasse board:
Java:
public class Board {
private final int[] board;
private final int numberOfRows;
public Board(int numberOfRows) {
this(0, numberOfRows);
}
private Board(int numberOfColumns, int numberOfRows) {
this.board = new int[numberOfColumns];
this.numberOfRows = numberOfRows;
}
public int getNumberOfColumns() {
return board.length;
}
public boolean isEmpty() {
return board.length == 0;
}
// diese methode testet, ob es in der momentanen damenkonstellation konflikte gibt
public boolean hasConflict() {
for (int i = 0; i < board.length; i++) {
// testet ob, die damen in der gleichen reihe sind
for (int j = 0; j < board.length; j++) {
if ((i != j) && (board[i] == board[j]) && board[i] != 0) {
return true;
}
}
// hier sollte man testen, ob die dame diagonal bedroht wird
}
return false;
}
mein problem bezieht sich auf die methode hasConflict. ich habe es geschafft zu testen, ob die damen sich in der selben reihe befinden, allerdings weiß ich nicht, wie ich die möglichen diagonalen bedrohungen filtern soll. hätte da einer/eine eine idee ? vielen dank im voraus