В чем суть авторского решения задачи о расстановке ферзей ? Как и обычно идет перебор вариантов с отбрасыванием заранее непригодных. То есть фигуры должны располагаться в разных колонках, в разных строках и не лежать на одной диагонали. Для удаления ненужных полей шахматная доска разворачивается в одномерный массив и при постановке новой фигуры помечаются (прибавляется единица) ко всем ячейкам, которые находятся под боем. Такой подход оказался продуктивным, что показали замеры скорости выполнения обычного кода и кода с использованием предложенного метода.
Задачи на шахматной доске
26.08.13
Разработка - Математика и алгоритмы
Предлагается вариант решения двух классических задач на шахматной доске - это задача о расстановке ферзей и задача о перемещении коня по доске. В последней задаче конь должен обойти все клетки доски, побывав в каждой ячейке только один раз. Варианты решения уже присутствуют на портале. Отличие данной версии - интерфейс. Рисуется доска, отображаются фигуры и перемещения. Плюс для задачи о расстановке ферзей реализован авторский алгоритм, что позволило увеличить скорость поиска решений примерно в три раза.( для доски 11х11 время уменьшилось с 3 мин. 39 сек до 1 мин. 03 сек)
Скачать файл
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Наименование | По подписке [?] | Купить один файл | |
---|---|---|---|
Обработка задачи на шахматной доске
.epf 132,77Kb ver:1.1
10
|