if (x * x + y * y <= 25) and (x * x + y * y >= 9):
f1 = True
if ((x * x + y * y <= 25) and (y > x + 5)) or ((x * x + y * y <= 25) and (y < x - 5)) \
or ((x * x + y * y <= 25) and ((x > 0 and y > 0) or (x < 0 and y < 0))):
f2 = True
if F1 == 9 or F2 == 9 or F3 == 9 or ((F1 <= 9 and F2 > 9 and F3 > 9) or (F2 <= 9 and F1 > 9 and F3 > 9) or (F3 <= 9 and F1 > 9 and F2 > 9)):
f3 = True
if (x * x + (y - 3) * (y - 3) <= 16) and (y <= 2 or y >= 5):
f4 = True
print("1:", f1)
print("2:", f2)
print("3:", f3)
print("4:", f4)
nat5555
30.05.2020
Давай попробуем рассуждать логически. Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.
x, y = map(float, input().split())
# f - формула
f1 = f2 = f3 = f4 = False
F1 = (x-4)*(x-4) + (y-4)*(y-4)
F2 = x*x + (y-3)*(y-3)
F3 = (x-3)*(x-3)+y*y
if (x * x + y * y <= 25) and (x * x + y * y >= 9):
f1 = True
if ((x * x + y * y <= 25) and (y > x + 5)) or ((x * x + y * y <= 25) and (y < x - 5)) \
or ((x * x + y * y <= 25) and ((x > 0 and y > 0) or (x < 0 and y < 0))):
f2 = True
if F1 == 9 or F2 == 9 or F3 == 9 or ((F1 <= 9 and F2 > 9 and F3 > 9) or (F2 <= 9 and F1 > 9 and F3 > 9) or (F3 <= 9 and F1 > 9 and F2 > 9)):
f3 = True
if (x * x + (y - 3) * (y - 3) <= 16) and (y <= 2 or y >= 5):
f4 = True
print("1:", f1)
print("2:", f2)
print("3:", f3)
print("4:", f4)