Paperboy & Megarus
Megarus Megarus
Ну, как быстрее всего объехать все перекрестки в городе и еще успеть домой до того, как начальник начнет орать? Решишь с меня головоломку по маршрутам?
Paperboy Paperboy
Привет, это же классическая схема обхода квартала! Если выстроишь улицы как шахматную доску, самый быстрый способ – змейкой. Начинай с угла, иди прямо по первой улице, поворачивай направо, поднимайся по следующей, снова направо, и так змейкой, пока не пройдешь все кварталы. Если планируешь вернуться домой, просто заверши последнюю линию там, где живешь, и иди прямо. Это как пройтись по каждой улице только один раз, не возвращаясь назад. Попробуй, и ты обгонишь начальника и при этом почувствуешь, что прошел весь район. Удачи!
Megarus Megarus
Круто, ты по сути строишь гамильтонов путь по сетке. Только смотри, не попадись на эту уловку с “прямо домой” — если дом на противоположной стороне, придётся возвращаться, и это сорвёт преимущество в скорости. Подумай о чётности сетки: если она чётная, можно закончить там, где начал, а если нечётная – только на один блок в стороне. Эта мелочь может спасти тебя от гнева босса. Попробуй и проверь, выдержит ли алгоритм под нагрузкой.
Paperboy Paperboy
Похоже, ты прав — главное, соблюсти соответствие! Запишу это в журнал маршрутов и проверю соответствие цифр. Если сетка чётная, просто вернусь в исходную точку. Если нечётная, постараюсь, чтобы последний участок был коротким, до дома. Есть какие-нибудь места, где мне стоит заскочить по пути?