Мы используем файлы cookie для анализа событий на нашем веб-сайте, что позволяет нам улучшать взаимодействие с пользователями и обслуживание. К сайту подключен сервис Яндекс.Метрика, который также использует файлы cookie. Продолжая просмотр страниц нашего сайта, вы принимаете условия его использования в соответствии с Политикой обработки персональных данных и Согласием на обработку персональных данных с помощью сервиса «Яндекс.Метрика».
ОК

Ответы на ЕГЭ по информатике (10 июня)

11 мин.

Ответы ЕГЭ информатика 2025

ОТВЕТЫ ЕГЭ ИНФОРМАТИКА 11 ИЮНЯ 2025

.

Видеоразбор всех заданий

Задание 5

Вариант 1

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:

  1. Строится троичная запись числа N.

2. Далее эта запись обрабатывается по следующему правилу:
а) если число N делится на 3, то в этой записи дописываются справа две последние цифры троичной записи;
б) если число N на 3 не делится, то остаток от деления умножается на 5, переводится в троичную запись и дописывается в конец числа.

Полученная таким образом запись является троичной записью искомого числа R.

3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 12 = 110₃, результатом является число 11010₃ = 111, а для исходного числа 4 = 11₃ результатом является число 1112₃ = 41.

Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее чем 290.

В ответе запишите это число в десятичной системе счисления.

Ответ: 11

Решение:

def toBase3(n):
    s = ""
    while n:
        s = str(n % 3) + s
        n //= 3
    return s
    # решение от t.me/soldaevainfo
def alg(n):
    s = toBase3(n)
    if n % 3 == 0:
        s += s[-2:]
    else:
        s += toBase3((n % 3) * 5)
    return int(s, 3)

# проверка функции на примере
# print(alg(12))

for n in range(1, 1000):
    if alg(n) >= 290:
        print(n)
        break

# ответ 11

Вариант 2

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится троичная запись числа N.

2. Далее эта запись обрабатывается по следующему правилу:
a) если число N делится на 3, то к этой записи дописываются две последние троичные цифры;
б) если число N на 3 не делится, то остаток от деления умножается на 5, переводится в троичную запись и дописывается в конец числа.

Полученная таким образом запись является троичной записью искомого числа R.

3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 1110 = 1023, результатом является число 1021013 = 30710, для исходного числа 610= 203 это число 20203 = 6010

Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее 350.

Ответ: 11

.

Задание 6

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m — целое число), вызывающая изменение направления движения на т градусов по часовой стрелке, Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 … КомандаЅ] означает, что последовательность из S команд повторится k раз.

Черепахе был дан для исполнения следующий алгоритм:

Повтори 2 [Вперёд 24 Направо 90 Вперёд 20 Направо 90]
Поднять хвост
Вперёд 7 Направо 90 Вперёд 7 Налево 90
Опустить хвост
Повтори 2 [Вперёд 30 Направо 90 Вперёд 27 Направо 90]

Определите, сколько точек с целочисленными координатами будут находиться внутри объединения фигур, ограниченных заданными алгоритмом линиями, включая точки на линиях.

Ответ: 1141

Решение:

from turtle import *
screensize(2000, 2000)
tracer(0)
m = 10
lt(90)
for i in range(2):
    fd(24 * m)
    rt(90)
    fd(20 * m)
    rt(90)
up()
fd(7 * m)
rt(90)
fd(7 * m)
lt(90)
# решение от t.me/soldaevainfo
down()
for i in range(2):
    fd(30 * m)
    rt(90)
    fd(27 * m)
    rt(90)
up()
for x in range(-100, 100):
    for y in range(-100, 100):
        goto(x * m, y * m)
        dot(3)
update()
done()

.

Задание 7

Вариант 1

Виталий фотографирует интересные места и события с помощью своего смартфона. Каждая фотография представляет собой растровое изображение размером 1920×1080 пикселей, при этом используется палитра из 222 цветов. В конце дня Виталий отправляет снимки друзьям с помощью приложения-мессенджера. Для экономии трафика приложение оцифровывает снимки повторно, используя размер 1280 × 1024 пикселей и глубину цвета 21 бит.

Сколько Кбайт трафика экономится при передаче 120 фотографий? В ответе укажите целую часть полученного числа.

Ответ: 265050

Решение

# лучше решать сразу кодом

f1 = 1920 * 1080 * 22 # объем фото 1 в битах
f2 = 1280 * 1024 * 21 # объем фото 2 в битах
r = 120 * f1 - 120 * f2 # разница объемов 120 фото в битах
# решение от t.me/soldaevainfo
# в Кбайты переводим только разницу!
print(r / 2**13)

# ответ 265050

Вариант 2

Маша делает цветные фотографии на телефон, который сохраняет снимки с размером 3840 × 2160 пикселей и разрешением 17 бит. После сохранения снимков в памяти телефона Маша отправляет фотографию через мессенджер, который сжимает снимок до размера 1280 × 720 пикселей, каждый разрешением 5 бит.

Какое количество Кбайт удастся сэкономить при отправке 120 фотографий? В ответе запишите целое число.

Ответ: 1998000

.

Задание 8

Вариант 1

Все шестибуквенные слова, в составе которых могут быть только буквы Т, Е, О, Р, И, Я, записаны в алфавитном порядке и пронумерованы начиная с 1. Ниже приведено начало списка.

  1. ЕЕЕЕЕЕ
  2. ЕЕЕЕЕИ
  3. ЕЕЕЕЕО
  4. ЕЕЕЕЕР
  5. ЕЕЕЕЕТ
  6. ЕЕЕЕЕЯ

Определите последний нечётный номер слова, которое не начинается с букв Е, О, Р и в котором буква Т встречается ровно один раз.

Ответ: 46655

Решение:

from itertools import *
num = 0
res = []
for i in product(sorted("ТЕОРИЯ"), repeat = 6):
    num += 1
    # решение от t.me/soldaevainfo
    # тут внимательно с буквами, не напишите латинские
    if i[0] not in "ЕОР" and i.count("Т") and num % 2 != 0:
        res.append(num)
print(res[-1])

# ответ 46655

Вариант 2

Все пятибуквенные слова, составленные из букв В, Е, Н, Е, Р, А записаны в алфавитном порядке и пронумерованы.
Вот начало списка:

  1. AAAAA
  2. AAAAB
  3. AAAAE
  4. ААААН
  5. AAAAP
  6. АААВА

Под каким нечетным номером в списке стоит последнее слово, которое
не начинается с буквы H и содержит ровно две буквы В?

Ответ: 3107

.

Задание 9

Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите среднее арифметическое чисел всех строк таблицы, содержащих числа, для чисел которых выполнены оба условия:

  • в строке есть одно число, которое повторяется трижды, три числа не повторяются;
  • повторяющееся число строки меньше, чем удвоенное минимальное из её неповторяющихся чисел.

В ответе запишите только целую часть полученного числа.

Решение:

f = open("file.txt")
res = []
for s in f:
    a = [int(x) for x in s.split()]
    p = [x for x in a if a.count(x) > 1]
    np = [x for x in a if a.count(x) == 1]
    # решение от t.me/soldaevainfo
if len(p) == 3 and len(set(p)) == 1 and len(np) == 3:
       if p[0] < min(np) * 2:
           res += a
print(sum(res) // len(res))

.

Задание 10

С помощью текстового редактора определите, сколько раз встречается сочетание букв «сам» или «Сам» только в составе других слов, но не как отдельное слово, в тексте глав VII и VIII второй части 2 тома Л.Н. Толстого «Война и мир». В ответе укажите только число.

.

Задание 11

Вариант 1

На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 246 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных
номеров, все символы кодируются одинаковым и минимально возможным числом бит.

Известно, что для хранения 703569 серийных номеров доступно не более 77 Мбайт памяти. Определите максимально возможную мощность алфавита, используемого для записи серийных номеров. В ответе запишите только целое число.

Ответ: 8

Решение:

from math import *
# перебираем мощности алфавита
for M in range(1000, 0, -1):
    i = ceil(log2(M)) # сколько бит на 1 символ
    I = (246 * i) / 8 # сколько байт на 1 номер
    # если не превышает 77 Мб, нам такое М подходит
    # решение от t.me/soldaevainfo
    if 703569 * I <= 77 * 2**20:
        print(M)
        break
 # ответ 8

Вариант 2

На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 119 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование
серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, 125 300 серийных номеров занимают более 23 Мбайт памяти.

Определите минимально возможную мощность алфавита, используемого для записи серийных номеров. В ответе запишите только целое число.

Ответ: 4097

.

Вариант 3

Серийный номер состоит из 3410 символов. Для хранения каждого из серийных номеров выделено одинаковое минимальное число байт. Для хранения 2984523 серийных номеров потребовалось не менее 14 Гбайт. Найдите минимально возможную мощность алфавита для записи одного серийного номера.

Ответ: 2049

.

Задание 12

Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

1. заменить (v, w)
2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. 

Дана программа для Редактора:

ПОКА нашлось (577) ИЛИ нашлось (677) ИЛИ нашлось (657)
ЕСЛИ нашлось (577)
ТО заменить (577,76)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (677)
ТО заменить (677,75)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (657)
ТО заменить (657, 56)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА

На вход приведённой выше программе поступает строка, начинающаяся с цифры «5», а затем содержащая п цифр «7» (3 < n < 10000). Определите наибольшее значение п, при котором сумма цифр в строке, получившейся в результате выполнения программы, равна 76. В ответ запишите только число.

.

Задание 13

Вариант 1

В терминологии сетей ТСР/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы. Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.

Сеть задана IP-адресом одного из входящих в неё узлов 97.191.34.206 и сетевой маской 255.255.255.240. Определите наибольший IP-адрес данной сети, который может быть присвоен компьютеру. В ответе укажите найденный IP-адрес без разделителей. Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать 11122344.

Ответ: 9719134206

Решение:

from ipaddress import *
net = ip_network("97.191.34.206/255.255.255.240", 0)
# широковещательный адрес не считаем, он не может быть присвоен компу
# решение от t.me/soldaevainfo
print(str(net[-2]).replace(".", ""))

# ответ 9719134206

Вариант 2

В терминологии сетей ТСР/IP маской сети называют двоичное число, которое показывает, какая часть-адреса узла сети относится к адресу сети, а какая — к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и его маске. Широковещательным адресом называется специализированный адрес, в котором на месте нулей в маске стоят единицы. Адрес сети и широковещательный адрес не могут быть использованы для адресации сетевых устройств.

Сеть задана IP-адресом одного из входящих в неё узлов 143.168.72.213 и сетевой маской 255.255.255.240. Определите наибольший IP-адрес данной сети, который может быть присвоен компьютеру. В ответе укажите найденный IP-адрес без разделителей. Например, если бы найденный адрес был равен 111.22.3.44, то в ответе следовало бы записать 11122344.

Ответ: 14316872222

.

Задание 14

Вариант 1

Операнды арифметического выражения записаны в системе счисления с основанием 27:

2107x79227 + 565x21127

В записи чисел переменной х обозначена неизвестная цифра из алфавита 27-ричной системы счисления. Определите наименьшее значение х, при котором значение данного арифметического выражения кратно 26. Для найденного х вычислите частное от деления значения арифметического выражения на 26 и укажите его в ответе в десятичной системе счисления. Основание системы счисления указывать не нужно.

Ответ: 897607140

Решение:

from string import *
alf27 = digits + ascii_uppercase[:17]

for x in alf27:
    a = f"2107{x}792"
    b = f"565{x}211"
    res = int(a, 27) + int(b, 27)
    # решение от t.me/soldaevainfo
    if res % 26 == 0:
        print(res // 26)
        break

# ответ 897607140

Вариант 2

Операнды арифметического выражения записаны в системе счисления с основанием 26:

967x626 + 5x88Ах226

В записи чисел переменной обозначена неизвестная цифра из алфавита 26-ричной системы счисления. Определите наименьшее значение х, при котором значение данного арифметического выражения кратно 25. Для найденного х вычислите частное отделения значения арифметического выражения на 25 и укажите его в ответе в десятичной системе
счисления. Основание системы счисления указывать не нужно.

Ответ: 68282544

.

Задание 15

Вариант 1

Укажите наименьшее целое значение А, при котором выражение

(2y+3x< A) ∨ (x>15) ∨ (y > 35)

истинно для любых целых положительных значений х и у.

Ответ: 116

Решение:

def f(x, y, A):
    return (2*y + 3*x < A) or (x > 15) or (y > 35)

for A in range(-1000, 1000): 
    # решение от t.me/soldaevainfo 
    if all(f(x, y, A) for x in range(1, 1000) for y in range(1, 1000)):
        print(A)
        break

# ответ 116

Вариант 2

Для какого наименьшего целого неотрицательного числа А логическое выражение

(5<y) v (x>32) v (x+2y<A)

тождественно истинно (т.е. принимает значение 1) при любых целых неотрицательных х и у?

Ответ: 43

.

Задание 16

Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:

— F(n)=1 при n=1;
— F(n]=n^2+F(n-1) при n>1.

Чему равно значение выражения F(2025) − F(2022)?

Ответ: 12289730

Решение:

from functools import *
@lru_cache()

def f(n):
    if n == 1:
        return 1
    return n**2 + f(n-1)

for n in range(1, 2026):
    f(n)

print(f(2025)-f(2022))

# ответ 12289730

.

Задание 17

Вариант 1

В файле 17…txt содержится последовательность целых чисел от -100 000 до 100 000 включительно. Определите количество пар элементов последовательности, в которых только один элемент является двузначным, а сумма элементов больше максимального элемента последовательности, оканчивающегося на 19. В ответе запишите без пробела кол-во найденных пар чисел, затем максимальную из их сумм. Под парой подразумевается два идущих подряд элемента последовательности.

Решение:

f = open("17.txt")
a = [int(x) for x in f]

m19 = max(x for x in a in abs(x) % 10 == 19)
res = []
for i in range(len(a)-1):
    # решение от t.me/soldaevainfo
    if len(str(abs(a[i]))) == 2 ^ len(str(abs(a[i+1]))) == 2:
        if a[i] + a[i+1] > m19:
            res.append(a[i] + a[i+1])

print(len(res), max(res))

Вариант 2

В файле 17…txt содержится последовательность целых чисел от -100 000 до 100 000 включительно. Определите количество троек элементов последовательности, в которых из трёх элементов тройки пятизначными числами являются только два, а сумма элементов тройки не больше максимального элемента последовательности, оканчивающегося на 13.
В ответе запишите кол-во найденных троек чисел, затем максимальную из сумм элементов таких троек. Под тройкой подразумевается три идущих подряд элемента последовательности.

.

Задания 19-21

Вариант 1

19. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя.
За один ход игрок может:
— убрать из кучи три камня,
— убрать из кучи пять камней,
— уменьшить количество камней в куче в четыре раза (количество камней, полученное при делении, округляется до меньшего).

У каждого игрока есть неограниченное количество камней, чтобы делать ходы. Игра завершается в тот момент, когда количество камней в куче становится не более 11. Победителем считается игрок, сделавший последний ход, т.е. первым получивший в куче 11 камней или меньше. В начальный момент в куче было S камней; S >12.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

Укажите минимальное значение S, когда Петя не может выиграть за один ход, но при этом Ваня может выиграть своим первым ходом при любой игре Пети.

20. Для игры, описанной в задании 19, найдите наименьшее значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

21. Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Ответ:
19. 48
20. 51
21. 56

Решение:

def f(s, k):
    if s <= 11:
        return k % 2 == 0
    if k == 0:
        return 0
    m = [f(s-3, k-1), f(s-5, k-1), f(s//4, k-1)]
    if k % 2 != 0:
        return any(m)
    return all(m)

# решение от t.me/soldaevainfo
print("19:", min([s for s in range(13, 200) if f(s, 2)]))
print("20:", min([s for s in range(13, 200) if (not f(s, 1)) and f(s, 3)]))
print("21:", min([s for s in range(13, 200) if (not f(s, 2)) and f(s, 4)]))

# ответ
# 19: 48
# 20: 51
# 21: 56

Вариант 2

19. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может:
— убрать из кучи три камня или убрать из кучи семь камней
— уменьшить количество камней в куче в три раза (количество камней, полученное при делении, округляется до меньшего).

Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 19 или меньше камней. В начальный момент в куче было S камней, S≥20.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

Укажите минимальное значение S, при котором Петя не может выиграть за один ход, но при любом ходе Петя Ваня может выиграть своим первым ходом.

20. Для игры, описанной в задании 19, найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём одновременно
выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания.

21. Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Ответ:
19. 60
20. 63 64
21. 66

.

Задание 22

В файле 22.xls содержится информация о совокупности 25 вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы — время его выполнения в миллисекундах, в третьем столбце
перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0.

Определите, сколько процессов выполнялось одновременно в 14 мс.

Ответ: 10

.

Задание 23

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:

A. Вычти 3
B. Найди целую часть от деления на 3

Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 81 результатом является число 3, и при этом траектория вычислений содержит число 27? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Ответ: 10

Решение:

def f(x, y):
    if x < y:
        return 0
    # решение от t.me/soldaevainfo
    if x == y:
        return 1
    return f(x-3, y) + f(x//3, y)

print(f(81, 27) * f(27, 3))

# ответ 10

.

Задание 24

Вариант 1

Текстовый файл состоит из десятичных цифр и заглавных букв латинского алфавита.

Определите в прилагаемом файле последовательность идущих подряд символов наибольшей длины, в которой символ D встречается 1 раз
и он находится в начале, а также содержится 50 цифр.

В ответе запишите длину найденной последовательности.

Решение:

Задание 24 решение ЕГЭ по информатике 2025

.

Вариант 2

Текстовый файл состоит текстовый файл из символов, обозначающих десятичные цифры и заглавные буквы латинского алфавита.

Определите в прилагаемом файле максимальную длину подстроки, которая начинается с символа D и содержит 50 цифр.

.

Задание 25

Напишите программу, которая перебирает целые числа, большие 2 900 000, в порядке возрастания и ищет среди них такие, которые:

— имеют ровно два различных натуральных делителя, кроме единицы и самого числа, то есть представляют собой произведение двух различных простых чисел;
— оба простых множителя содержат в своей записи ровно одну цифру 0.

В ответе укажите первые пять таких чисел в порядке возрастания. Во втором столбце таблицы для каждого числа укажите его наибольший простой делитель.

Решение:

def isPrime(n):
    return n > 1 and all(n % d != 0 for d in range(2, int(n**0.5) + 1))

def f(n):
    divs = set()
    for d in range(1, int(n**0.5) + 1):
        if n % d == 0:
            if isPrime(d) and isPrime(n // d) and str(d).count("0") == 1 and str(n // d).count("0") == 1:
                divs |= {d, n//d}
    return sorted(divs)

x = 2_900_000 + 1
k = 0
# решение от t.me/soldaevainfo

while k < 5:
    if len(f(x)) == 2:
        print(x, f(x)[-1])
        k += 1
    x += 1

# ответ
# 2900021 27103
# 2900449 27107
# 2900519 4091
# 2900663 27109
# 2901809 5701

.

Задание 26

Вариант 1

В магазине для упаковки подарков есть N кубических коробок красного цвета и М кубических коробок синего цвета (N > M). Самой интересной считается упаковка подарка по принципу матрёшки — подарок упаковывается в одну из коробок, та в свою очередь в другую коробку и т. д., при этом цвет коробок чередуется. Одну коробку можно поместить в другую, если длина её стороны хотя бы на 5 единиц меньше длины стороны другой коробки. Определите наибольшее количество коробок, которое можно использовать для упаковки одного подарка, и максимально возможную длину стороны самой маленькой коробки, где будет находиться подарок. Размер подарка позволяет поместить его в самую маленькую коробку.

Входные данные
В первой строке входного файла находятся число N — количество коробок красного цвета в магазине (натуральное число, не превышающее 10 000) и через пробел число М — количество коробок синего цвета в магазине (натуральное число, не превышающее 10 000). В следующих N строках находятся значения длин сторон коробок красного цвета (все числа натуральные, не превышающие 10 000) и через
знак табуляции значения длин сторон коробок синего цвета (все числа натуральные, не превышающие 10 000), каждая пара таких значений — в отдельной строке; в последних N — М строках второе число опускается, и числа, соответствующие длинам сторон коробок красного цвета, идут каждое в отдельной строке.

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

Типовой пример организации данных во входном файле
5 4
39 55
40 42
44 44
40 55
50

Пример входного файла приведён для случая пяти коробок красного цвета и четырёх коробок синего цвета, когда минимальная допустимая разница между длинами сторон коробок, подходящих для упаковки «матрёшкой», составляет 3 единицы.

Решение:

f = open("26.txt")
n, m = map(int, f.readline().split())

# считываем данные (0 -- красная коробка, 1 -- синяя)
boxes = []
for i in range(m):
    redBox, blueBox = map(int, f.readline().split())
    boxes.append([redBox, 0])
    boxes.append([blueBox, 1])
for i in range(n-m):
    redBox = int(f.readline())
    boxes.append([redBox, 0])

boxes.sort(reverse=True)
# собираем подарок
# решение от t.me/soldaevainfo
gift = [boxes[0]]
for b in boxes:
    # если влезает и другого цвета, берем
    if gift[-1][0] - b[0] >= 3 and gift[-1][1] != b[1]:
        gift.append(b)
print(len(gift), gift[-1][0])

Вариант 2

В магазине для упаковки подарков есть N кубических коробок красного и зелёного цвета. Самой интересной считается упаковка подарка по принципу матрёшки — подарок упаковывается в одну из коробок, та в свою очередь в другую коробку и т. д., при этом цвета коробок отличаются. Одну коробку можно поместить в другую, если длина её стороны хотя бы на 7 единиц меньше длины стороны другой коробки. Определите наибольшее количество коробок, которое можно использовать для упаковки одного подарка, и максимально возможную длину стороны самой маленькой коробки, где будет находиться подарок. Размер подарка позволяет поместить его в самую маленькую коробку.

Входные данные
В первой строке входного файла находится число N — количество коробок в магазине (натуральное число, не превышающее 10 000). В следующих N строках находятся значения длин сторон коробок (все числа натуральные, не превышающие 10 000) и через пробел цвет коробки (буква R или G).

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

Типовой пример организации данных во входном файле:
8
50 R
48 G
43 G
40 R
36 R
34 G
22 G
17 R

.

Задание 27

Вариант 1

Учёный решил провести кластеризацию некоторого множества звёзд по их расположению на карте звёздного неба. Кластер звёзд — это набор звёзд (точек) на графике, лежащий внутри круга радиусом R. Каждая звезда обязательно принадлежит только одному из кластеров. Истинный центр кластера, или центроид, — это одна из звёзд на графике, сумма расстояний от которой до всех остальных звёзд кластера минимальна. Под расстоянием понимается расстояние Евклида между двумя точками A (x1, y1) и B (x2, y2) на плоскости, которое вычисляется по формуле:

Аномалиями назовём точки, находящиеся на расстоянии более одной условной единицы от точек кластеров. При расчётах аномалии учитывать не нужно.

В файле A хранятся данные о звёздах двух кластеров, где R = 2 для каждого кластера. В каждой строке записана информация о расположении на карте одной звезды: сначала координата x, затем координата y. Значения даны в условных единицах, которые представлены вещественными числами. Известно, что количество звёзд не превышает 1000.

В файле Б хранятся данные о звёздах трех кластеров, где R = 6 для каждого кластера. Известно, что количество звёзд не превышает 10 000. Структура хранения информации о звездах в файле Б аналогична файлу А.

Для каждого файла определите координаты центра каждого кластера, затем вычислите два числа: Px — среднее арифметическое абсцисс центров кластеров, и Py — среднее арифметическое ординат центров кластеров.

В ответе запишите четыре числа через пробел: сначала целую часть произведения |Px| · 100 для файла А, затем |Py| · 100 для файла А, далее целую часть произведения |Px| · 100 для файла Б и |Py| · 100 для файла Б.

Возможные данные одного из файлов иллюстрированы графиком.

Внимание! График приведён в иллюстративных целях для произвольных значений, не имеющих отношения к заданию. Для выполнения задания используйте данные из прилагаемого файла

.

Зарабатывай вместе с insperia: приглашай своих друзей из 10 класса!

Ты можешь получить до 1500 рублей за каждого друга, которого пригласишь на курсы нашей школы (другу — скидка на оплату 1000 рублей).

А еще ты автоматически становишься участником розыгрыша IPhone и крутого путешествия, который мы анонсируем уже совсем скоро!

❗️ Для твоего друга отдадим доступ к летнему курсу при покупке годового на любом тарифе всего за 500₽.

Переходи по ссылке: пригласить друга

.

Поделиться

Предмет
Предметы, которые сдаешь