Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы визуализируем поиск решения Пентамино с использованием yield.
Дата отправки отчёта:
4 июля 2017 г.
Задание выполнено: за
3 час. 41 мин.
Чему научился:
Закрепил пройденное
Что было сложным:
найти время
Комментарии:
Добавил поддержку отображения найденных ответов ниже поля перебора относительно друг друга, чтобы не пересекались (проверить можно будет после внедрения оптимизации, так как ждать уж очень долго, хотя и более наглядно). Добавил поддержку полей более 60 клеток (см. скриншот) при этом учитываются дубликаты фигур, цвет фигур, индексация и т.д. все необходимые нюансы. Как видно из скриншота, добавлена поддержка ввода размеров поля через командную строчку, для этого создал батника с необходимыми размерами для тестирования. з.ы. обожаю относительность =)
Т.е. к примеру, на поле 20х3 разрешено каждой фигуры по одному экземпляру, следовательно если взять ещё одно такое поле, то уже разрешено по два экземпляра каждый фигуры разместить не более и так далее.