У меня возникли проблемы с работой над заданием, и мне было интересно, может ли кто-нибудь указать мне правильное направление. Проект представляет собой назначение восьми ферзей, где мне нужно сделать программу с использованием рекурсии, чтобы найти решение, в котором 8 ферзей могут быть размещены на доске, не нападая друг на друга.Застрял на EightQueens Java
Мой выход постоянно возвращается что-то вроде этого:
false, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
который не является правильным решением. Вот код checkVertical, который у меня есть до сих пор.
public static boolean checkVerticals(boolean[][] board){
for (int i=0; i<board.length;i++){
int count = 0;
for (int j=0; j<board.length;j++){
if (board[j][i] = true)
count++;
}
if (count > 1) {
return false;
}
}
return true;
}
Могут ли вы объяснить концепцию восемь королева? когда они атакуют друг друга? – CloudyMarble