На этом уроке мы рассмотрим две шахматные задачи, про расстановку ладьей и ферзей на доске, чтобы они не рубили друг друга. Задачи решаются первым способом - перебор вариантов без использования рекурсии.
Чему научился:
Поиск с отсечением - исключение избыточных комбинаций вызовов рекурсивной функции.
Что было сложным:
Расчет индексов диагоналей в булевых массивах.
Комментарии:
Интересное решение - использовать проверку условий отсечений с помощью трех булевых массивов. Это достаточно явно отображает словесный алгоритм в программном коде.
Научился: Наглядно рисовать в уме возможные алгоритмы для составления комбинаторных функций Трудности: Разобраться в алгоритме переходов между клетками доски Понял для себя, что из чисел Фибоначи и прочего уже давно вырос, а вот с задачами подобного плана нужно еще попрактиковаться
Научился: Находить варианты расположения 4х ферзей/ладьей на поле размером 4х4 . Использовать рекурсию для поля N ферзей/ладьей. Трудности: Разобрать алгоритм ) Было интересно узнать что-то новое.