Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 4

Задание 27 № 33106 ЕГЭ по информатике

11.06.2022, 10:59. Показов 3300. Ответов 6

Студворк — интернет-сервис помощи студентам
Я решил ниже описанную задачу и уверен в своём решении, но ответ у меня не совпадает. Мой код внизу. Ответ на сайте: A ответ — 67407, из файла B — 200168361. У меня A ответ — 65010, из файла B — 200168313.


Набор данных состоит из пар натуральных чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел делилась на 3 и при этом была минимально возможной.

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

Пример организации исходных данных во входном файле:

6

1 3

5 12

6 9

5 4

3 3

1 1

Для указанных данных искомая сумма равна 21.

В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
s = open('inf_22_10_20_27a (1).txt', 'r').readlines()[1:-1]
sum = 0
raz1, raz2 = [], []
for i in range(len(s)):
    a = int(s[i].split()[0])
    b = int(s[i].split()[1])
    sum += min(a, b)
    if abs(a - b) % 3 == 1:
        raz1.append(abs(a - b))
    if abs(a - b) % 3 == 2:
        raz2.append(abs(a - b))
raz1.sort()
raz2.sort()
print(raz1, raz2)
if sum % 3 == 0:
    print(sum)
elif sum % 3 == 1:
    print(min(sum + raz2[0], sum + raz1[0] + raz1[1]))
elif sum % 3 == 2:
    print(min(sum + raz1[0], sum + raz2[0] + raz2[1]))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.06.2022, 10:59
Ответы с готовыми решениями:

5 задание ЕГЭ по информатике
Автомат получает на вход четырёхзначное десятичное число, в котором все цифры нечётные. По этому числу строится новое число по следующим...

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

Не могу сделать 27 задание ЕГЭ по информатике
Ниже буде код, который был составлен для решения 27 задания с сайта "Решу ЕГЭ". Задание под номером "36040". Код вывел правильный...

6
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38197 / 21130 / 4309
Регистрация: 12.02.2012
Сообщений: 34,737
Записей в блоге: 14
11.06.2022, 11:27
Цитата Сообщение от Dantonus Посмотреть сообщение
уверен в своём решении
- а объяснить его сможешь? Что-то непонятно...
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 4
11.06.2022, 11:28  [ТС]
Последовательно считывая данные из файла, будем прибавлять к сумме минимальное число в паре. Если сумма чисел делится на 3 с остатком 1, то, чтобы она делилась на 3, к этой сумме необходимо прибавить либо разницу между числами в паре, делящуюся на 3 с остатком 2, либо два раза прибавить к этой сумме разницу между числами в паре, делящуюся на 3 с остатком 1. Также заметим, что если сумма чисел делится на 3 с остатком 2, то, чтобы она делилась на 3, к этой сумме необходимо либо прибавить разницу между числами в паре, делящуюся на 3 с остатком 1, либо два раза прибавить к этой сумме разницу между числами в паре, делящуюся на 3 с остатком 2. Значит, необходимо искать два числа, делящихся на 3 с остатком 1 и являющихся минимальными разницами между числами в парах, и два числа, делящихся на 3 с остатком 2 и являющихся минимальными разницами между числами в парах.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38197 / 21130 / 4309
Регистрация: 12.02.2012
Сообщений: 34,737
Записей в блоге: 14
11.06.2022, 11:30
Цитата Сообщение от Dantonus Посмотреть сообщение
Если сумма чисел делится на 3 с остатком 1, то, чтобы она делилась на 3, к этой сумме необходимо прибавить либо разницу между числами в паре, делящуюся на 3 с остатком 2, либо два раза прибавить к этой сумме разницу между числами в паре, делящуюся на 3 с остатком 1.
- "необходимо прибавить" - это хорошо. Но прибавлять-то можно только числа, входящие в набор. При чем тут разность?
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 4
11.06.2022, 11:40  [ТС]
Это суть решения 27 задания из ЕГЭ)
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
11.06.2022, 13:11
Лучший ответ Сообщение было отмечено Dantonus как решение

Решение

Dantonus,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
s = open('inf_22_10_20_27b.txt', 'r').readlines()[1:] # тут ошибка была 
sum = 0
raz11 = raz12 = raz21 = raz22 = float('inf')
for i in range(len(s)):
    a, b = map(int, s[i].split())
    sum += min(a, b)
    ab = abs(a-b)
    if ab % 3 == 1:
        if ab<raz11:
            raz12, raz11 = raz11, ab
        elif ab<raz12:
            raz12 = ab
    elif ab % 3 == 2:
        if ab<raz21:
            raz22, raz21 = raz21, ab
        elif ab<raz22:
            raz22 = ab
#raz1.sort()
#raz2.sort()
print(raz11, raz12, '\n', raz21, raz22)
print(sum)
if sum % 3 == 0:
    print(sum)
elif sum % 3 == 1:
    print(sum + min(raz21, raz11 + raz12))
elif sum % 3 == 2:
    print(sum + min(raz11, raz21 + raz22))
3
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
11.06.2022, 13:22
Лучший ответ Сообщение было отмечено Dantonus как решение

Решение

Алгоритм правильный, но вы не забираете последнюю строчку.
Читать надо так:
Python
1
s = open('inf_22_10_20_27a.txt', 'r').readlines()[1:]
Добавлено через 2 минуты

Не по теме:

Пока чай готовил, GDez опередил))

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2022, 13:22
Помогаю со студенческими работами здесь

Объясните пожалуйста задание ЕГЭ по информатике номер 15
''' Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего...

Объясните пожалуйста задание ЕГЭ по информатике номер 6
Сколько существует различных значений d, оканчивающихся на 8, при вводе которых эта приведенная программа выведет число 1247? Вот что...

Задание ЕГЭ по информатике (27)
Дана последовательность целых положительных чисел. Рассматриваются все пары элементов последовательности, сумма которых делится на m=80 ...

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

Задание из Егэ по информатике (27)
Прорешивая егэшные задания, столкнулся вот с таким примером... Условие: Дана последовательность N целых положительных чисел. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru