printРабочее место участника

printЗадачи

2325. Слово и робот

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Робот может двигаться по слову и переставлять местами соседние буквы. Для управления роботом составляется программа, содержащая следующие команды:
> – движение вправо;
< – движение влево;
% – поменять местами текущую и следующую букву;
(буква команды1 : команды2) – если робот стоит на указанной букве, то выполнить команды1, иначе выполнить команды2.
В начальный момент робот стоит на первой букве слова. Команда < не выполняется (игнорируется), если робот стоит на первой букве слова, команды > и % не выполняются, если робот стоит на последней букве слова.
Следующая программа для робота (W>>%:>(D:%<)%) превратит слово WORD в WODR, а слово RODW в DROW.
Напишите три программы для превращения некоторого заданного слова, являющегося перестановкой букв W, O, R и D, в слово WORD. Вы должны выслать текстовый файл, содержащий ровно 3 строки. В первой строке нужно написать программу для решения первой подзадачи, во второй строке – для решения второй подзадачи, в третьей строке – для решения третьей подзадачи. Если вы не можете написать программу для решения одной из подзадач, поставьте в соответствующей строке символ - (минус).
Система оценки и описание подзадач
Подзадача 1 (10 баллов)
В этой подзадаче только 1 тест, слово DROW. Баллы за подзадачу начисляются только в случае, если все тесты успешно пройдены.
Подзадача 2 (40 балла)
В этой подзадаче 4 теста, каждый тест оценивается в 10 баллов. Тесты содержат слова WORD, OWRD, WODR, OWDR в некотором порядке, т.е. могут быть переставлены 1-я и 2-я буквы и 3-я и 4-я буквы слова WORD. Баллы за подзадачу начисляются только в случае, если все тесты успешно пройдены.
Подзадача 3 (50 баллов)
В этой подзадаче 10 тестов, каждый тест оценивается в 5 баллов. Тесты содержат анаграммы слова WORD. Баллы за каждый тест начисляются независимо.
По запросу сообщается результат окончательной проверки для всех подзадач (без разделения на отдельные тесты).
loading