Я не уверен, как написать этот метод.positionQueens (0) должен поместить ферзь в первую строку, а затем вызвать себя с помощью positionQueens (1) и поместить в следующую строку.Если теперь он может размещаться в любом месте строки, он должен вернуться к предыдущему ряду и проверить, чтобы поместить предыдущую королеву в новое место.
private void positionQueens(int row){
for (int col = 0; col < row; col++){
if(legal(row,col)){
queens[row] = col;
}
else {
positionQueens(row+1);
}
}
}
Это мой метод проверки законности размещения королевы.в n строке, столбце
private boolean legal(int row, int col){
for (int i = 0; i < row; i++){
if ((queens[i] == col) || (Math.abs(i-row)==Math.abs(queens[i]-col))){
return false;
}
}
return true;
}