Задача к ЕГЭ по информатике на тему «прочие прототипы» №12

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

1) оба конца отрезка принадлежат заданному множеству;

2) ни один конец отрезка не лежит на осях координат;

3) отрезок пересекается с обеими осями координат.

Описание входных данных

В первой строке задаётся N  — количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа x  и y  — координаты очередной точки. Гарантируется, что 1 ≤ N ≤ 10000  , − 1000 ≤ x ≤ y ≤ 1000  .

Описание выходных данных

Необходимо вывести количество удовлетворяющих требованиям отрезков.

Пример входных данных:

4

6  6

8  8

9  9

7  5

Пример выходных данных для приведённого выше примера входных данных:

2

Для того, чтобы отрезок, концы которого не лежат на осях координат пересекался и с Oy  , и с Ox  , необходимо, чтобы его концы лежали в противоположных четвертях. Тогда подсчитаем количество точек в каждой четверти, а затем перемножим их и сложим k  ∗k + k ∗ k  1   3   2   4  , где индексы при k  — номера четвертей.

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)

Ответ: 42 1247171763
Оцените статью
Я решу все!