Задача о восьми ферзях — широко известная задача по расстановке фигур на шахматной доске. Исходная формулировка: "Расставить на стандартной 64-клеточной шахматной доске 8 ферзей так, чтобы ни один из них не находился под боем другого". Подразумевается, что ферзь бьёт все клетки, расположенные по вертикалям, горизонталям и обеим диагоналям.
// из материалов Википедии
Задачу можно обобщить следующим образом: "На шахматной доске со стороной N, расставить N ферзей так, чтобы ни один из них не находился под боем другого".
isSafeQueens.js
Реализуйте и экспортируйте по умолчанию функцию, которая принимает комбинацию ферзей в виде списка и проверяет, является ли данная расстановка решением задачи.
Комбинации формируются следующим образом:
(2, 4, 1, 3)
где каждое число — это позиция ферзя по вертикали, а порядок числа в списке — позиция ферзя по горизонтали.
Для примера выше, доска будет выглядеть так:
1 2 3 4
___ ___ ___ ___
1 |___|___|_*_|___|
2 |_*_|___|___|___|
3 |___|___|___|_*_|
4 |___|_*_|___|___|
Примеры:
import isSafeQueens from '../isSafeQueens.js';
const queens = l(2, 4, 1, 3);
isSafeQueens(queens); // true
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Отзывы

Спасибо, что подбираете такие крутые испытания.
Удалось поэксперементировать, испытать разные способы, в том числе передчу во второй параметр reduce
двух счетчиков (с помощью пары). В очередной раз удивляешься насколько мощная функция)

Только что решил задание и посмотрел решение учителя, по ходу во время решения задачи меня занесло куда-то очень очень далеко. А на задачу я потратил 2 дня :[ но задача была очень интересной хотелось бы побольше таких задач.

как хитрецки используется аккумулятор в образце, прям читерство, возьмем на вооружение =)