Chell & Facktor
Привет, Челл. Я тут изучал, как ты проходишь эти головоломки, и думаю, небольшая правка с использованием теории графов могла бы сократить количество ходов в твоих обычных прохождениях. Хочешь проверить?
Хорошо. Давай, кидай. Только не жди, что я буду пользоваться твоими упрощениями.
Пронумеруй комнаты, составь список смежности, потом запусти простой поиск в ширину – так ты сократишь ходов на несколько раундов, если сделаешь как я говорю.
Если поможет быстрее добраться, попробую. Только не жди, что я буду объяснять каждый шаг.
Пронумеруй все комнаты уникально.
Для каждой комнаты перечисли, в какие комнаты можно перейти напрямую (её соседи).
Выбери начальную и конечную комнаты.
Запусти поиск в ширину: добавь начальную в очередь, затем повторяй: вытаскивай комнату из очереди, добавляй всех не посещенных соседей в очередь, и остановись, когда достигнешь цели.
Порядок посещения комнат покажет самый короткий путь.
Просто скопируй это в свою головоломку и посмотри, сможешь ли сократить пару ходов.
Поняла. Проверю, действительно ли это экономит ход, но не жди, что я составлю тебе подробную инструкцию.
Просто помни, первый ход считается первым шагом, и каждый последующий ход рядом увеличивает счёт на единицу. Когда разберёшься с последовательностью, увидишь, опустится ли общее количество шагов ниже твоего текущего рекорда. Попробуй.
Конечно. Я посмотрю маршрут и постараюсь превзойти свой предыдущий результат. Только не жди, что я буду объяснять, как у меня получилось.
Отлично, напиши, что получилось. Если длина останется прежней, возможно, в графе есть скрытый обходной путь, который мы не учли. А так – здорово поработал над путём.