[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Шахматный конь на мобильном телефоне...
Страницы: 1, 2
brevis
Цитата (Vanzai @ 8.11.2019 - 16:33)
И как я должен был со своим трёхнедельным опытом написать то, что вижу выше blink.gif

Менторство платное? smile.gif

_____________
Чатик в телеге
Vanzai
Цитата (brevis @ 8.11.2019 - 16:37)
Цитата (Vanzai @ 8.11.2019 - 16:33)
Не совсем то, конь должен пройти по ВСЕМ кнопкам за минимальное кол-во ходов...

"по ВСЕМ кнопкам" да еще и "при условии, что на каждую кнопку конь станет единажды" -- ходов будет всегда столько, сколько кнопок.

Да,согласен,вначале неправильную постановку дал, мой косяк
Vanzai
Цитата (brevis @ 8.11.2019 - 16:39)
Цитата (Vanzai @ 8.11.2019 - 16:33)
И как я должен был со своим трёхнедельным опытом написать то, что вижу выше blink.gif

Менторство платное? smile.gif

Нет, сейчас я занимаюсь 1с-ом, а ему нужен помощник по php, сказал, что если сделаю, то заберёт меня, но, видимо, пролетаю, как фанера над Парижем dry.gif
Ron
Понятно. Задача действительно хитрая, но не сказать чтобы сильно интересная. Поэтому давайте решать ее не для мобильного телефона, а для произвольного поля m*n. Конкретно для клавиатуры мобильного телефона можно посчитать хоть на бумажке. Думаю быстрее получится, чем писать даже самую топорную реализацию, честное слово.

Итак, как ходит конь всем известно. Рассчитать возможные ходы из текущей точки не проблема, простой алгоритм. Если начать строить возможные комбинации из конкретно взятой стартовой точки, то получится структура данных - дерево. С вершиной как раз в координатах старта. Таких деревьев будет ровно столько, сколько клеток на поле.

Наиболее простым вариантом работы с деревьями лично мне видится через СуБД, я бы наверное взял closure table, поскольку сразу имеем возможность посчитать глубину прямо через SQL запрос. Что нам собственно и нужно: найти ветвь минимальной длинны из неповторяющихся элементов для каждого из деревьев. Затем наименьшее из них.

Да, зачада имеет довольно высокую вычислительную сложность, хотя нам не нужно каждый раз достраивать дерево до конца. =)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.