В лесополосе осуществляется посадка деревьев. Причем саженцы высаживают рядами на одинаковом расстоянии.
Через какое-то время осуществляется аэросъемка, в результате которой определяется, какие саженцы прижились. Необходимо определить ряд с максимальным номером, в котором есть подряд ровно неприжившихся саженцев, при условии, что справа и слева от них саженцы прижились. В ответе запишите сначала наибольший номер ряда, затем наименьший номер из неприжившихся мест.
Входные данные:
В первой строке входного файла находится число — количество занятых мест (натуральное число, не превышающее
). Каждая из следующих
строк содержит два натуральных числа, не превышающих
: номер ряда и номер занятого места.
Выходные данные:
Два целых неотрицательных числа: максимальный номер ряда, где нашлись обозначенные в задаче места, и минимальный номер подходящего места.
Пример входного файла:
Ответ для примера (при поиске подряд идущих неприжившихся саженцах):
Решение 1 (Excel/LibreOffice)
Откроем текстовый документ. Запомним первое число и удалим его. Скопируем все числа в Excel. В разделе Главная Сортировка и фильтр
Настраиваемая сортировка делаем сортировку столбцов:
В ячейке записываем формулу =ЕСЛИ(И(A2=A1;B2=B1+8);»НАШЁЛ»;0) и растягиваем её на диапазоне
. Наводим курсор на столбец
, нажимаем на Главная
Сортировка и фильтр
Фильтр. Сортируем столбец
по критерию «НАШЁЛ». Получаем единственный номер ряда —
и наименьший номер неприжившегося саженца —
.
Решение 2 (Python)
f = open(’Задание_26__o4nj__rs6l.txt’)
n = int(f.readline())
a = [] # список координат прижившихся саженцев
for i in range(n):
x, y = [int(_) for _ in f.readline().split()] # считывание текущей строки
a.append([x, y])
a.sort()
ans = [0, 0]
for i in range(n - 1): # проход по всем координатам прижившихся саженцев
# если ряд двух рядом стоящих в списке саженцев совпадает и при этом между ними есть 7 свободных мест
if a[i][0] == a[i + 1][0] and a[i][1] == a[i + 1][1] - 8:
row = a[i][0] # вычисляем ряд
place = a[i][1] + 1 # вычисляем минимальное свободное место между двумя саженцами
if row > ans[0]:
ans[0] = row
ans[1] = place
print(*ans)