tgoop.com/bminaiev_blog/73
Last Update:
Lambdaman
Расскажу про одну из задач с прошедшего ICFPC. Вам дан какой-то фиксированный лабиринт (в данном тесте размера 101х101) и начальное положение робота.
Нужно написать программу на выдуманном функциональном языке программирования, которая выведит строку из миллиона букв LRUD (left, right, up, down). После этого робот пытается по порядку выполнить каждое действие. Если в клетке, в которую хочет пойти робот, находится стена, то он просто стоит на месте. Тест считается пройденным, если в итоге робот посетил каждую клетку.
Сложность в том, что ваше решение оценивается по тому, насколько короткую программу вы написали (а не по тому, насколько долго робот ходил). Например, можно заранее предподсчитать правильный путь, и написать программу println "LRLLRLU..."
, но она получит мало баллов.
В самом языке программирования ничего особенного нет, там можно делать какие-то простые операции с числами и строками, писать циклы (через рекурсию).
Интересно, что лучшее решение участников для этого теста умещалось где-то в 150 символов. Отгадайте как?
P. S. спасибо жене за подбор гармоничных цветов для картинки 🤍.
BY Боря программирует
Share with your friend now:
tgoop.com/bminaiev_blog/73