Основные возможности платформы Hexlet не доступны в вашем браузере.
Пожалуйста, обновитесь. Выбрать браузер.

Задача о восьми ферзях — широко известная задача по расстановке фигур на шахматной доске. Исходная формулировка: "Расставить на стандартной 64-клеточной шахматной доске 8 ферзей так, чтобы ни один из них не находился под боем другого". Подразумевается, что ферзь бьёт все клетки, расположенные по вертикалям, горизонталям и обеим диагоналям.

// из материалов Википедии

Задачу можно обобщить следующим образом: "На шахматной доске со стороной N, расставить N ферзей так, чтобы ни один из них не находился под боем другого".

isSafeQueens.js

Реализуйте и экспортируйте по умолчанию isSafeQueens, которая принимает комбинацию ферзей в виде списка и проверяет, является ли данная расстановка решением задачи.

Комбинации формируются следующим образом:

(2, 4, 1, 3)

где каждое число — это позиция ферзя по вертикали, а порядок числа в списке — позиция ферзя по горизонтали.

Для примера выше, доска будет выглядеть так:

     1   2   3   4
    ___ ___ ___ ___
1  |___|___|_*_|___|
2  |_*_|___|___|___|
3  |___|___|___|_*_|
4  |___|_*_|___|___|

Пример работы:

const queens = l(2, 4, 1, 3);

isSafeQueens(queens); // true
Начать Успешных завершений: 56%

Последние код-ревью

Автор Дата обновления Версий
kuper 14 дек., 00:47 1
saenkomm 13 дек., 15:44 1
hardbro 13 дек., 14:09 1
dozimiya 13 дек., 07:03 1
user-efef1298b88c97dc 12 дек., 17:52 1