Решение задачи Принадлежит ли точка области с Яндекс Контест

Без пояснения   Просмотров: 6927


Проверьте, принадлежит ли точка данной закрашенной области:

Если точка принадлежит области (область включает границы), выведите слово YES, иначе выведите слово NO. Решение должно содержать функцию IsPointInArea(x, y), возвращающую True, если точка принадлежит области и False, если не принадлежит. Основная программа должна считать координаты точки, вызвать функцию IsPointInArea и в зависимости от возвращенного значения вывести на экран необходимое сообщение. Функция IsPointInArea не должна содержать инструкцию if.


Код

def IsPointInCircle(x, y):
    return (x + 1) * (x + 1) + (y - 1) * (y - 1) <= 4


def IsPointInsideCircle(x, y):
    return (x + 1) * (x + 1) + (y - 1) * (y - 1) < 4


def IsPointInArea(x, y):
    llr = (x + y >= 0)
    rll = (2 * x - y + 2 <= 0)
    lll = (x + y <= 0)
    rlr = (2 * x - y + 2 >= 0)

    in1 = IsPointInCircle(x, y) and llr and rll
    in2 = not(IsPointInsideCircle(x, y)) and lll and rlr
    return in1 or in2


x = float(input())
y = float(input())
if IsPointInArea(x, y):
    print("YES")
else:
    print("NO")

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет