Задача #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))
Быстрый переход
Перейти к задаче