Задача #1355

Исполнитель Черепаха

Сложнее ЕГЭ

(С. Чайкин) Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b). Если числа a, b положительные, то значение соответствующей координаты увеличивается, если отрицательные — уменьшается. Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2,-3) переместит Чертёжника в точку (6,-1). Запись

Повтори k раз
Команды
конец

означает, что последовательность Команды повторятся k раз. Чертёжнику был дан для исполнения следующий алгоритм:

Повтори 3 раз
Сместиться на (15, 37)
Сместиться на (-40, -35)
Сместиться на (-22, 32)
Сместиться на (47, -34)
конец

Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии следует учитывать.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

622

def f(x, y):
return y >= 37 / 15 * x and \
y <= 35 / 40 * (x - 15) + 37 and y >= -34 / 47 * (x + 47) + 34

def g(x, y):
return y >= 35 / 40 * (x - 15) + 37 and \
y <= -34 / 47 * (x + 47) + 34 and y >= -32 / 22 * (x + 47) + 34

k = sum(
f(x, y) or g(x, y)
for x in range(-10**2, 10**2)
for y in range(-10**2, 10**2)
)
print(k)
Быстрый переход
Перейти к задаче