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.
А це:
мурашник на задньому дворі Ленґтона.
Мурашник достатньо великий, щоб утримувати Марківський гольфбол, MarGolf. Однак мурашник рухається і змінює напрямок залежно від навколишньої місцевості.
Завдання
Введіть поле 10x20:
*
МаргольфO
Мурашник Лантона,
Мурашник обертається на 90 градусів за годинниковою стрілкою.
Мурашник обертається на 90 градусів проти годинникової стрілки0
Маргольф у мурашника Лангтона
Поле виглядає так:
,...,.,,..,...,.,,..
..,.,,,..,...,..,.,.
.,,*.,....,.,,,.,,,.
,.,,.,...,,.,.,,,,,.
.,..,....,,.....,,.,
,.,.,...,..,.,,,,..,
....,,,,,,,,,.......
........,,.,...,...,
,,,,,,,,,,,,....,O.,
,.,.,.,.....,,.,,,,,
Правила гри:
Конфігурація поля введення називається галочкою 0. Вашій програмі потрібно оцінити та роздрукувати конфігурацію наступного галочки, в якій і Маргольф, і Мурашник Ленґтона перемістяться в іншу клітинку. Елемент у поточній комірці стане елементом, який наразі знаходиться в цільовій комірці. Якщо і MarGolf, і мурашник переходять до однієї клітини в наступному галочці, гра закінчується.
Правила пересування:
- Маргольф рухається випадковим чином. Усі дев'ять комірок в районі 3х3 навколо Маргольфа мають однакові шанси на вибір. Це стає вибором серед 6 комірок на краю поля та 4 комірок на куті.
- Мурашник Лангтона повинен пам’ятати його напрямок руху вгору, вниз, вліво або вправо (NSEW або будь-який інший еквівалент). Він переміщує одну клітинку у своєму напрямку кожен галочку, і вихідний вміст комірки змінює свій напрямок за годинниковою або проти годинникової стрілки, як зазначено вище. Початковий напрямок біля галочки 0 є випадковим, кожен напрямок має рівний шанс бути початковим.
Примітки
- Програмі потрібно роздрукувати конфігурацію кожного галочки, поки гра не закінчиться.
- Номер галочки передує конфігурації поля кожної галочки.
- Ви можете припустити, що введення завжди дійсне.
- Найкоротша програма - виграє байти.
Оновлення: забув згадати мурашник перевертати напрямок перед рухом, якщо він інакше піде з поля. Кредит користувачеві81655 за нагадування.
O
напрямок s для наступного кроку.