Вложенные структуры · 12 из 16
Муравей Лэнгтона
Крис Лэнгтон в 1986 году придумал муравья с двумя правилами. На белой клетке он поворачивает направо, красит её чёрным и шагает вперёд; на чёрной — налево, красит белым и шагает. Первые несколько сотен шагов он рисует симметричные узоры, потом — хаос, а после десяти тысяч шагов вдруг начинает строить ровную «дорогу» и уходит по ней навсегда. Почему — до сих пор никто не доказал.
Что сделать
Выпустите муравья в середину белого поля и сделайте shagov шагов; верните, какие клетки стали чёрными.
Что приходит
shirinaиvysota— размер поля в клеткахshagov— сколько шагов сделать муравью
Что вернуть
Поле — список из vysota рядов по shirina чисел: 0 — белая клетка, 1 — чёрная. Первый ряд — верхний.
Допишите функцию muravey в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Поле 3 × 3, один шаг: муравей в центре (1, 1) смотрит вверх, клетка белая — поворот направо, клетка становится чёрной, шаг вправо. Ответ — [[0, 0, 0], [0, 1, 0], [0, 0, 0]].
muravey(3, 3, 1)
[[0, 0, 0], [0, 1, 0], [0, 0, 0]]
Поле — vysota рядов по shirina клеток, все белые (0). Ряд 0 — верхний, клетка pole[y][x] — в ряду y, столбце x. Муравей начинает в столбце shirina // 2, ряду vysota // 2 и смотрит вверх — к ряду 0.
Шаг: на белой клетке — повернуть направо (по часовой стрелке), на чёрной — налево; перекрасить клетку, на которой стоит (0 ↔ 1); шагнуть на одну клетку вперёд. Поле замкнуто: уйдя за правый край, муравей появляется у левого, за верхний — у нижнего, и наоборот.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.