При проведении эксперимента заряженные частицы попадают на чувствительный экран, представляющий из себя матрицу размером 10 000 на 10 000 точек. При попадании каждой частицы на экран в протоколе фиксируются координаты попадания: номер ряда (целое число от 1 до 10 000) и номер позиции в ряду (целое число от 1 до 10 000).
Точка экрана, в которую попала хотя бы одна частица, считается светлой, точка, в которую ни одна частица не попала, – тёмной.
Вам необходимо по заданному протоколу определить номер ряда с наибольшим количеством светлых точек в нечётных позициях. Если таких рядов несколько, укажите минимально возможный номер.
Входные данные
Первая строка входного файла содержит целое число N – общее количество частиц, попавших на экран. Каждая из следующих N строк содержит 2 целых числа: номер ряда и номер позиции в ряду.
В ответе запишите два целых числа: сначала наибольшее количество светлых точек в нечётных позициях одного ряда, затем – номер ряда, в котором это количество встречается.
СтатГрад Вариант ИН2110402 30.03.2022 – задание №26
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
f = open("ege-inf-stat30032022-402-26.txt") n = int(f.readline()) a = [] for i in range(10001): a.append([0] * 10001) for i in range(n): x, y = map(int, f.readline().split()) a[x][y] = 1 m = 0 r = 0 for i in range(10001): k = 0 for j in range(10001): if a[i][j] == 1 and j % 2 != 0: k += 1 if k > m: m = k r = i print(m, r) |
ИЛИ
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
f = open('26.txt') n = int(f.readline()) a = [set() for _ in range(10001)] for _ in range(n): x, y = map(int, f.readline().split()) a[x].add(y) m=0 mi=0 for i in range(10001): k=0 for j in a[i]: if j%2==1: k+=1 if k>m: m=k mi=i print(m, mi) |
Ответ: 16 163
