Задача #1968
Исполнитель Черепаха
(Е.Джобс) Исполнитель Вертун существует на поле, разделенном на одинаковые квадратные клетки.
Вертун имеет четыре команды:
- Вперед х – перемещает Вертуна на х клеток вперед,
- Вправо – поворачивает Вертуна на 90 градусов вправо,
- Влево – поворачивает Вертуна на 90 градусов влево,
- Закрасить – закрашивает клетку, в которой находится Вертун.
Запись Повтори k раз Команды конец означает, что последовательность Команд повторится k раз.
Определите, сколько клеток будет закрашено после выполнения следующего алгоритма
Повторить 10 раз
Вперед 5
Закрасить
Вправо
Вперед 3
Закрасить
Вправо
Вперед 2
Закрасить
Вправо
Конец
Войдите, чтобы история ответов и статистика сохранялись.
Решение
Ответ
12
n = {}
k = [0, 1]
def вправо():
k[0], k[1] = k[1], -k[0]
def влево():
k[0], k[1] = -k[1], k[0]
def вперед(x):
p[0] += k[0]*x
p[1] += k[1]*x
def закрасить():
res.add(tuple(p))
res = set()
p = [0, 0]
for _ in range(10):
вперед(5)
закрасить()
вправо()
вперед(3)
закрасить()
вправо()
вперед(2)
закрасить()
вправо()
print(len(res))