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