Информатика. ЕГЭ

Задание 26. Информатика. 2022-1

Просмотры: 630
Изменено: 29 января 2025

Для хранения двумерного цифрового растрового чёрно-белого изображения Петя сохранил в текстовом файле информацию и позициях всех пикселей чёрного цвета на изображении (номера рядов пикселей и номера чёрных пикселей в ряду). Для редактирования изображения Пете нужно изменить цвет с белого на чёрный всем имеющимся двум соседним белым пикселям, таким что слева и справа от них в том же ряду пиксели чёрные.
Найдите ряд с наибольшим номером, в котором есть два соседних пикселя, удовлетворяющих требованию Пети. Гарантируется, что есть хотя бы один ряд, удовлетворяющий этому условию. В ответе запишите два целых числа: номер ряда и наименьший номер пикселя в ряду из найденных в этом ряду подходящий пар белых пикселей.

Входные данные
В первой строке входного файла находится число \(N\) — количество рядов пикселей (натуральное число, не превышающее \( 10~000\)). Каждая из следующих \(N\) строк содержит два натуральных числа, не превышающих \(100~000\): номер ряда и номер чёрного пикселя в ряду.

Выходные данные
Два целых неотрицательных числа: номер ряда и наименьший номер пикселя в выбранной паре.
Пример входного файла:
\(7\)
\(20 \,\, 10\)
\(20 \,\, 13\)
\(30 \,\, 45\)
\(40 \,\, 17\)
\(40 \,\, 20\)
\(40 \,\, 30\)
\(40 \,\, 33\)

Условию задачи удовлетворяют три пары чисел: \(20\) и \(11\), \(40\) и \(18\), \(40\) и \(31\). Ответ для приведённого примера:

\(40\)    \(18\)

Файл с данными

Решение:

Python


f = open('input26_01.txt')
length = int(f.readline())

pixels = [tuple(map(int, s.split())) for s in f.readlines()]
pixels.sort(reverse=True)
curr_row = pixels[0][0] # Текущая строка
curr_pix = [pixels[0][1], ] # Список пикселов в строке curr_row
fl = False
for i in range(1, length):
    if pixels[i][0] == curr_row: 
        curr_pix.append(pixels[i][1]) # Собираем все пикселы в строке curr_row
    else:  # Все пикселы собраны. Обрабатываем их и устанавливаем новый curr_row
        curr_pix.sort() # Сортируем. Нужно вывести наименьший пиксел
        len_pix = len(curr_pix)
        if len_pix > 1: # Если собранных пикселов больше 1
            for k in range(1, len_pix): 
                if curr_pix[k] - curr_pix[k-1] == 3: # Здесь может поместиться два белых символа
                    print(curr_row, curr_pix[k-1] + 1) # Мы их нашли. Выводим на экран
                    fl = True # Флаг сбрасываем в True. Нужно прервать внешний цикл
                    break # Прерывыаем внутренний for
        if fl: # Если нашли нужные пикселы, прерываем внешний for
            break
                                    # Сюда попадаем, если нужных пикселов не нашли.
        curr_row = pixels[i][0]     # Устанавливаем указатель на новую строку и формируем 
        curr_pix = [pixels[i][1], ] # новый список пикселов для новой строки curr_row

Ответ: 67890    98765

Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене

Новое видео
Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»
Поддержать автора сайта!
​ Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.
Расписание пробников Статграда в 2026/27 учебном году
Информатика ОГЭ 9 класс
  1. 13 октября 2026 года
  2. 3 декабря 2026 года
  3. 21 января 2027 года
  4. 19 февраля 2027 года
  5. 23 марта 2027 года
  6. 27 апреля 2027 года
Математика ОГЭ 9 класс
  1. 23 сентября 2026 года
  2. 1 декабря 2026 года
  3. 22 января 2027 года
  4. 3 марта 2027 года
  5. 14 апреля 2027 года
Физика ОГЭ 9 класс
  1. 19 октября 2026 года
  2. 10 декабря 2026 года
  3. 29 января 2027 года
  4. 17 марта 2027 года
  5. 22 апреля 2027 года
Математика ЕГЭ 10 класс
  1. 3 февраля 2027 года
  2. 11 мая 2027 года
Информатика ЕГЭ 11 класс
  1. 22 октября 2026 года
  2. 15 декабря 2026 года
  3. 26 января 2027 года
  4. 2 марта 2027 года
  5. 13 апреля 2027 года
Математика ЕГЭ 11 класс
  1. 30 сентября 2026 года
  2. 17 декабря 2026 года
  3. 9 февраля 2027 года
  4. 16 марта 2027 года
  5. 21 апреля 2027 года
Физика ЕГЭ 11 класс
  1. 14 октября 2026 года
  2. 16 декабря 2026 года
  3. 4 февраля 2027 года
  4. 12 марта 2027 года
  5. 9 апреля 2027 года