/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
InstallerSamples/Algorithms/Recursion/Queens2.pas
34 строки
1 KB
Mikhalkovich Stanislav
GCD LCM в PABCSystem
21 окт 2025, 11:40
21 окт 2025, 11:40
c63d812
Код
Авторство
О чём код?
// Все решения задачи о расстановке ферзей на шахматной доске const N = 8; var board := new integer[N]; // board[row] = столбец ферзя в этой строке procedure Place(row: integer); begin for var col := 0 to N-1 do begin // проверяем конфликты со всеми ранее поставленными ферзями var conflict := False; for var prevRow := 0 to row-1 do if (board[prevRow] = col) or // тот же столбец (Abs(board[prevRow] - col) = Abs(prevRow - row)) then // та же диагональ begin conflict := True; break; end; if not conflict then begin board[row] := col; // ставим ферзя if row = N-1 then board.Println // выводим решение else Place(row+1); // продолжаем рекурсию end end; end; begin Println('Все решения задачи о 8 ферзях:'); Place(0); end.