Нарыл совершенно замечательную задачу.
UgN и другим железнодорожникам должно понравиться
Кстати, не могу удержаться чтобы вставить
любимую ссылку,
из которой видно, что такого рода задачи решал ещё
Первый В Мире Компетентный Программист
-----P------------A-------
/ \
| |
| T
| |
\ /
------B-------
Есть ж-д узел, он состоит из тупика, поворотного круга и одной стрелки.
Это самый обычный узел с самыми логичными правилами.
В тупике стоит маневровый паровоз P.
Он может тянуть и толкать один или несколько вагонов
хоть передом хоть задом, хоть одновременно.
На поворотном кругу стоят два вагона - A и B.
Они могут сцепляться как с паровозом, так и друг с другом.
Пробегом называется движение паровоза между двумя остановками.
Остановки случаются при смене направления движения
или при осуществлении любой операции сцепки-расцепки.
(Толкание вперёд тоже происходит сцеплённо)
Есть одна стрелка, которую можно перекидывать неограничено.
На остром углу заворачивать нельзя - можно проехать вперёд,
перекинуть стрелку и проехать в другую ветку.
Особенность:
На поворотном кругу есть тоннель T - через него
может проехать паровоз но не могут проехать вагоны.
Вопрос:
За какое минимальное число пробегов паровоз сможет
обменять местами вагоны A и B и вернуться в исходную позицию?