Я пишу алгоритм для решения головоломок с небоскребами:
Головоломки с небоскребами сочетают в себе ограничения строк и столбцов судоку с внешними значениями подсказок, которые переосмысливают каждая строка или столбец цифр — это дорога, полная небоскребов разной высоты. Более высокие числа соответствуют более высоким зданиям.
Чтобы решить головоломку «Небоскреб», вы должны поместить от 1 до 5 или от 1 до любого размера головоломки по одному разу в каждую строку и столбец, а также разгадывая каждую из подсказок о небоскребах.
Чтобы понять головоломки с небоскребами, вы должны представить, что каждое значение, которое вы помещаете в сетку, представляет собой небоскреб с таким количеством этажей. Таким образом, 1 — это одноэтажный небоскреб, а 4 — четырехэтажный небоскреб. Теперь представьте, что вы выходите и стоите за пределами сетки, где находится один из номеров подсказок, и снова смотрите на сетку. Этот номер подсказки показывает, сколько небоскребов вы можете увидеть с этой точки, глядя только вдоль строки или столбца, где находится подсказка, и с точки зрения подсказки. Высокие здания всегда затеняют более низкие здания, иными словами, более высокие числа всегда скрывают более низкие.
Все основные методы реализованы и работают, но я понял, что для более крупных головоломок (5x5>) мне нужен какой-то рекурсивный алгоритм. Я нашел приличный работающий скрипт Python, но я не особо слежу за тем, что он на самом деле делает, кроме решения основных подсказок.
Кто-нибудь знает правильный способ решения этих головоломок или может ли кто-нибудь раскрыть самое важное в приведенном выше коде?
Подробнее здесь: https://stackoverflow.com/questions/188 ... -algorithm
Алгоритм головоломки небоскреб ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ищем алгоритм, позволяющий разместить кусочки головоломки в 2D-матрице.
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-