Ограничения: время – 200ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Для управления роботом-кладовщиком используется программа, которая может содержать
следующие команды:
- F – идти вперед на один шаг;
- F* – идти вперед, пока движение вперед возможно;
- R – повернуться на 180 градусов;
- T – взять верхний ящик в стопке ящиков прямо перед роботом;
- D – поставить ящик в стопку ящиков прямо перед роботом;
- C – подняться или спуститься на соседнюю стопку ящиков.
Пусть `h` – высота из стопки ящиков, на которой находится робот, и `z` – высота
соседней стопки ящиков, на которую смотрит робот, тогда для
команд F, T, D и C должны выполняться следующие ограничения.
Команда | Ограничения |
F | `h=z` |
C | `h=z-1` или `h=z+1` |
T | `h=z` или `h+1=z` или `h+2=z`, робот не держит ящик |
D | `h=z-1` или `h=z` или `h=z+1`, робот держит ящик |
Робот может переносить только один ящик. Робот не может покидать комнату.
Комната имеет фиксированную длину, равную длине 20 ящиков, фиксированную
ширину (1 ящик) и неограниченную высоту. Выход из комнаты находится на
левой стене на высоте 3 ящиков. Перед выполнение программы робот
стоит в самой левой (первой) позиции и смотрит направо. Если робот не
может выполнить очередную команду программы из-за ограничений, то команда
пропускается. Например, программа "TFRDRTRDRF*TRF*RFRDCC" выполняет
следующие действия:
Начальная позиция (вид сбоку) | Конечная позиция (вид сбоку) |
.................... .................... >##.....#........... | <................... #................... ##.................. |
Напишите программу, которая поможет роботу добраться до выхода из комнаты. Длина программы не должна превышать 100 символов.
Описание подзадач и системы оценивания
Подзадача 1 (25 баллов)
Программа для робота должна помочь роботу в следующей ситуации.
Начальная позиция (вид сбоку) | Конечная позиция (вид сбоку) |
.................... .................... .................... >######............. | <................... #................... ##.................. ###................. |
Подзадача 2 (75 баллов)
Ящики находятся в любой позиции комнаты, кроме первой, высоты стопок из ящиков не более 2, всего в комнате ровно 6 ящиков.
Необходимые подзадачи: 1.
В этой подзадаче 3 теста, каждый тест оценивается в 25 баллов. Баллы за каждый тест начисляются независимо.
По запросу сообщается результат окончательной проверки для всех подзадач (без разделения на отдельные тесты).