Задача 1. (4 балла).
На пути N1 стоят пять занумерованных вагонов (см. рис 1), а
в тупике находится паровоз. Стрелка соединяет тупик с путем N1.
В тупике, кроме паровоза, могут поместиться два вагона.
Составить программу для машиниста паровоза, выполнение которой
переводит состав с пути N1 на путь N2, не изменив порядок
следования вагонов. Паровоз должен вернуться в тупик. Программа
должна состоять из занумерованных подряд команд из следующей
системы команд:
1. Влево (паровоз продвигается в крайнее левое положение из
тупика на один из путей в зависимости от положения стрелки).
2. Вправо (паровоз продвигается в тупик вместе с
прицепленнными вагонами, если стрелка соединяет его путь с
тупиком. Если стрелка установлена в другое положение, то
фиксируется ошибка).
3. Перевести стрелку.
4. Прицепить вагон к паровозу или к паровозу с уже
прицепленным вагонoм добавляется еще один вагон.
5. Отцепить вагон.
6. Выполнить команды с номера N до номера M (Команды из программы
с номерами N, N+1, ...M выполняются так, как если бы они находились
на месте данной команды).
Примечание: программы, содержащие наименьшее количество
команд, премируются дополнительными очками.
рис. 1.
|