Крабодел составил список точек плоскости с целочисленными координатами, среди которых имеется хотя бы одна, не лежащая на осях координат. Крабоеду необходимо найти количество отрезков, удовлетворяющих следующим условиям:
1) оба конца отрезка принадлежат заданному множеству;
2) ни один конец отрезка не лежит на осях координат;
3) отрезок пересекается с обеими осями координат.
Описание входных данных
В первой строке задаётся — количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа
и
— координаты очередной точки. Гарантируется, что
,
.
Описание выходных данных
Необходимо вывести количество удовлетворяющих требованиям отрезков.
Пример входных данных:
—
— —
—
Пример выходных данных для приведённого выше примера входных данных:
2
Для того, чтобы отрезок, концы которого не лежат на осях координат пересекался и с , и с
, необходимо, чтобы его концы лежали в противоположных четвертях. Тогда подсчитаем количество точек в каждой четверти, а затем перемножим их и сложим
, где индексы при
— номера четвертей.
f = open(’27A.txt’)
k1, k2, k3, k4 = 0, 0, 0, 0
n = int(f.readline())
for i in range(n):
x, y = map(int, f.readline().split())
if x > 0 and y > 0:
k1 += 1
if x < 0 and y > 0:
k2 += 1
if x < 0 and y < 0:
k3 += 1
if x > 0 and y < 0:
k4 += 1
print(k1*k3 + k2*k4)