Каждую пятницу 42.TUT.BY публикует классические задачи на логику, чтобы вы могли размять мозги в выходные. Проверьте: разрулите ли вы проблему на железной дороге?
Изображение носит иллюстративный характер. Фото: Максим Пушкин, TUT.BY
Картинка ниже показывает неудачную ситуацию: два машиниста локомотива встретились. Поезда движутся в противоположных направлениях по одному пути.
Как им разминуться?
Единственный шанс — короткая железнодорожная ветка. На ней может находиться только один локомотив или один вагон. У каждого поезда один локомотив и один вагон. Вагон может быть зацеплен с любой стороны локомотива или другого вагона.
Что вы посоветуете машинистам локомотивов? Опишите по шагам. Попробуйте найти самое короткое решение.
По рассказам абитуриентов, эту задачу использовали на вступительном экзамене в один из вузов в Финляндии.
У этой задачи множество решений. А вот найти самое короткое не так просто.
В условии не сказано, что локомотивы должны уехать со своими вагонами. Поэтому наиболее верным можно считать алгоритм из трех шагов, предложенный читателем под ником shmaxim.
1. Оба отцепляют вагоны, белый заезжает в тупик.
2. Черный проезжает и цепляет белый вагон
3. Белый цепляет черный вагон. Машинисты меняются местами и покатили дальше
Если же поставить целью каждому увезти собственные вагоны, самый короткий — алгоритм, предложенный pavlovsky.
1. Черный локомотив отцепляет вагон и заезжает в тупик.
2. Белый тянет свой вагон и освобождает проезд для черного локомотива.
3. Черный локомотив выезжает из тупика.
4. Белый локомотив заталкивает черный вагон в тупик и уезжает.
5. Черный локомотив цепляет черный вагон, и все довольны.