Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
5 / 5 / 1
Регистрация: 06.10.2020
Сообщений: 176

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

21.09.2021, 02:15. Показов 5301. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие задачи:

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

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

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

Code
1
2
3
4
5
6
7
6
1 3
5 10
6 9
5 4
3 3
1 1
Для указанных данных искомая сумма равна 30. В ответе укажите значение искомой суммы.


Мое решение, проходит все тесты, кроме того, где N = 60000. Не понимаю, где ошибка.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
F = open("input.txt")
D = 3
N = int(Fin.readline())
s = 0
dM = [10001]*D
for i in range(N):
    a, b = map(int, F.readline().split())
    s += max(a, b)
    d = abs(a-b)
    r = d % D
    if r > 0:
        dMN = dM[:]
        for k in range(1, D):
            r0 = (r + k) % D
            dMN[r0] = min(d+dM[k], dMN[r0])
            dMN[r] = min(d, dMN[r])
            dM = dMN[:]
F.close()
if s % D == 0:
    print(s)
else:
    print(s - dM[s%D])
Добавлено через 1 час 24 минуты
Заметил, что здесь в коде случайно название переменной поменял. В 3 строке F вместо Fin.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.09.2021, 02:15
Ответы с готовыми решениями:

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

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

Выбрать из каждой пары ровно одно число так чтобы максимальная сумма всех выбранных чисел не делилась на 4
Помогите решить задачу на плюсах! Можно использовать только циклы. Это 27 задаче егэ Имеется набор данных, состоящий из пар...

3
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
21.09.2021, 07:21
mangomang, сам то понимаешь это решение?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
21.09.2021, 16:26
файлы сам прикрутишь:
Python
1
2
3
4
5
6
7
8
d = 3
r_dict = {i: 0 for i in range(d)}
for _ in range(int(input())):
    r_values = r_dict.copy().values()
    for x in map(int, input().split()):
        for y in r_values:
            r_dict[(x+y) % d] = max(r_dict.get((x+y) % d, 0), x+y)
print(r_dict[0])
1
5 / 5 / 1
Регистрация: 06.10.2020
Сообщений: 176
21.09.2021, 19:04  [ТС]
eaa, не очень
Спасибо, буду разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2021, 19:04
Помогаю со студенческими работами здесь

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

Выбрать из каждой пары число, чтобы сумма всех выбранных чисел в шестнадцатеричной системе счисления оканчивалась на F
Здравствуйте, недавно наткнулся на задание(27) на сайте Полякова номер 2686 никак не могу придумать алгоритм для правильного...

Даны n пар чисел в каждой строке, выбрать одно число из каждой пары так, чтобы сумма их минимальна
Даны n пар чисел в каждой строке, выбратт одно число из каждой пары так, чтобы сумма их минимальна и не кратна 7. Помогите пожалуйста,...

Сколько существует способов выбрать две карточки так, чтобы сумма чисел на них делилась на 5
Есть 75 карточек с числами 4, 8, 12, ..., 296, 300. На каждую карточку нанесено ровно одно число. Каждое число из последовательности...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru