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

printЗадачи

2259. Кодовый замок

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

Шпиону необходимо открыть несколько кодовых замков для похищения секретной информации. Для открытия кодового замка используется панель из нескольких кнопок. На первом и третьем замке — три кнопки, на втором и четвёртом — четыре кнопки. Первоначально на замках все кнопки имеют красный цвет и замки закрыты. При нажатии на кнопку её цвет циклически меняется. На первом и втором кодовом замке цвет переключается с красный на зелёный и обратно, а на третьем и четвёртом замке цвет переключается с красного на жёлтый, затем на зелёный, затем снова на красный и т.д. Как только на панели будет установлена нужная цветовая комбинация, замок откроется.
У шпиона есть устройство, которое может быстро нажимать на кнопки, но для него нужна программа, обеспечивающая получение всех комбинаций. Программа определяется как последовательность номеров кнопок без пробелов, которые нужно нажать на замке. Например, замок с 2 кнопками с двумя цветовыми состояниями можно открыть программой "1121". После нажатия кнопки 1 на замке будет установлена комбинация "зелёный-красный", после повторного нажатия кнопки 1 на замке будет установлена комбинация "красный-красный" (которая не открывает замка), после нажатия кнопки 2 — комбинация "красный-зелёный", а после третьего нажатия кнопки 1 — комбинация "зелёный-зелёный". Все комбинации будут проверены этой программой. Можно придумать более короткую программу для открытия этого замка, например, "121" или "212".
Для каждого из 4 замков напишите программу для устройства, чтобы оно могло его открыть. Вы должны выслать текстовый файл, содержащий ровно 4 строки. В первой строке нужно написать программу для открытия замка с 3 кнопками и двумя цветовыми состояниями, во второй строке — для замка с 4 кнопками и двумя цветовыми состояниями, в третьей строке — для замка с 3 кнопками и тремя цветовыми состояниями, а в четвёртой строке — для замка с 4 кнопками и тремя цветовыми состояниями. Программы должны содержать только цифры 1,2,3,4, без пробелов. Если вы не можете написать программу для открытия какого-то из замком, поставьте в соответствующей строке символ - (минус).
Пример файла, который нужно выслать в качестве ответа.
123123
12341234
-
43214321
Даны программы (неправильные, но соответствующие требованиям) для 1,2 и 4 замка, для 3-го замка программа отсутствует.
Система оценки и описание подзадач
Подзадача 1 (60 баллов)
Проверка, что программы для открытия замка проверяют все возможные комбинации. В этой подзадаче 4 теста, каждый тест оценивается в 15 баллов. Каждый тест проверяет программу для одного из 4 замков. Баллы за каждый тест начисляются независимо.
Подзадача 2 (40 балла)
Проверка, что программы для открытия замка содержат минимальное количество команд (чтобы шпион смог открыть замки как можно быстрее). В этой подзадаче 4 теста, каждый тест оценивается в 10 баллов. Каждый тест проверяет программу для одного из 4 замков. Баллы за каждый тест начисляются независимо.
По запросу сообщается результат окончательной проверки на каждом тесте для всех подзадач. Для пропущенной программы дается вердикт "Неверный ответ".
loading