Ограничения: время – 200ms/200ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
> Из книги Перельман Я. И. Лабиринты, 1931:
>
> Существует очень простой способ входить в любой лабиринт, не боясь в нем заблудиться. Пользуясь этим правилом, можно всегда найти обратный выход из всякого лабиринта, как бы запутаны ни были его переходы. Вот в чем состоит правило безопасного блуждания в лабиринтах:
"Надо ходить по лабиринту, все время касаясь его стенки одной и той же рукой." Это значит, что при входе в лабиринт вы должны коснуться его стенки одной рукой (все равно, правой или левой) и во все время блуждания в нем продолжать касаться стенки той же самой рукой.
Лабиринт имеет размеры `5 xx 5`, между некоторыми клетками могут быть стены. В начальном состоянии робот находится на клетке с координатами (1,1) и
направлен на клетку (1,2), как показано на рисунке.
![Начальная позиция](43776.png)
Ваша задача - написать программу, которая приведет робота в клетку с координатами (5,5), пользуясь правилом одной руки.
После завершения выполнения программы робот должен находится в клетке (5,5), направление не важно.
Для управления роботом вы можете использовать следующие команды:
![Команды робота](43777.png)
Команда "двигаться вперед" перемещает робота вперед на следующую клетку, если впереди нет стенки.
Если выполнение команды невозможно, то она игнорируется. Следующие команды выполняют поворот робота.
Остальные команды можно использовать в логических условиях в циклах и ветвлениях.
*Система оценки*
В задаче 10 тестов, каждый тест оценивается в 10 баллов. Баллы за каждый тест начисляются независимо.
По запросу сообщается результат окончательной проверки на каждом тесте. Первый тест совпадает с лабиринтом на рисунке.
Гарантируется, что во всех лабиринтах существует путь из клетки (1,1) в клетку (5,5).
---
Для написания программы для робота используется [специальная версия среды Blockly](blockly/2523.html).
Вы можете использовать полную среду Blockly при решении других задач этого соревнования, выбрав пункт Blockly в информационном меню задачи.
Для проверки работы используйте кнопки:
![Кнопки](43775.png)
Первая кнопка позволяет отправить ваше решение для проверки в проверяющую систему соревнований, вторая кнопка выполняет запуск программу локально, третья –
пошаговое выполнение или временная остановка программы, четвертая – завершение выполнения программы, после которой программа будет выполняться сначала.
Щелкая мышкой по промежуткам между клетками начального состояния поля, можно задать расположение стен для тестирования программы.