This is Markov.
Markov's golf ball rolls around randomly.
Markov's ball will hole however he strikes it.
Markov is smart.
Be like Markov.
И это:
муравейник на заднем дворе Лангтона.
Муравейник достаточно большой, чтобы держать мяч для гольфа Маркова, Маргольф. Однако муравейник движется и меняет направление в зависимости от окружающей местности.
Задание
Возьмите поле 10x20:
*
MargolfO
Муравейник лантона,
Муравейник поворачивается на 90 градусов по часовой стрелке.
Муравейник поворачивается на 90 градусов против часовой стрелки0
Маргольф в муравейнике Лэнгтона
Поле выглядит так:
,...,.,,..,...,.,,..
..,.,,,..,...,..,.,.
.,,*.,....,.,,,.,,,.
,.,,.,...,,.,.,,,,,.
.,..,....,,.....,,.,
,.,.,...,..,.,,,,..,
....,,,,,,,,,.......
........,,.,...,...,
,,,,,,,,,,,,....,O.,
,.,.,.,.....,,.,,,,,
Правила игры:
конфигурация поля ввода называется тик 0. Ваша программа должна оценить и распечатать конфигурацию следующего тика, в котором и MarGolf, и Anthill Лэнгтона переместятся в другую ячейку. Элемент в текущей ячейке станет элементом в данный момент в целевой ячейке. Если в следующем тике и Маргольф, и муравейник переместятся в одну и ту же клетку, игра заканчивается.
Правила движения:
- Маргольф движется случайно. Все девять клеток в области 3x3 вокруг MarGolf имеют равные шансы быть отобранными. Это становится выбором из 6 ячеек на краю поля и 4 ячеек в углу.
- Муравейнику Лэнгтона нужно запомнить направление движения: вверх, вниз, влево или вправо (NSEW или любой другой эквивалент). Он перемещает одну ячейку в своем направлении на каждый тик, а исходное содержимое ячейки меняет свое направление по часовой стрелке или против часовой стрелки, как указано выше. Начальное направление в отметке 0 является случайным, каждое направление имеет равную вероятность быть начальным.
Ноты
- Программа должна распечатывать конфигурацию каждого тика, пока игра не закончится.
- Номер тика предшествует конфигурации поля каждого тика.
- Вы можете предположить, что ввод всегда действителен.
- Самая короткая программа - побеждает байтов.
Обновление: забыл упомянуть, что муравейник меняет направление перед движением, если в противном случае он ушел бы с поля. Кредит пользователю 81655 за напоминание.
O
направление s для следующего шага.Ответы:
Java 10,
611609607593591 байт-4 байта благодаря @ceilingcat .
Предполагает последний обмен
*
иO
опустошит ячейку, откуда*
идет.Объяснение:
Попробуйте онлайн.
источник