Как решить Алгоритм проблемы покупки хлеба в Python? - PullRequest
0 голосов
/ 28 февраля 2020

Проблема:

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

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

Напишите функцию, которая говорит вам, сколько хлеба купить у каждого из продавцов

Ввод:

total_days - целое число, количество дней в календаре до прибытия бесплатного хлеба

продавцов , - список пар целых чисел (день, цена). Каждая пара представляет одного продавца хлеба. День - это сколько дней от начала до прибытия продавца. Цена - это цена покупки каждой буханки хлеба у этого продавца в копейках

Вывод:

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

Требования:

Пожалуйста, напишите хорошо отформатированный, Легко читаемая python функция Calculate_Purchasing_plan (total_days, sellers) в файле с именем your_name.py, которая решает эту проблему, используя только стандартный python (т.е. пакеты не требуются). Пожалуйста, добавьте комментарий вверху файла с вашим именем и адресом электронной почты, а также краткий абзац, объясняющий, почему алгоритм, который вы предоставили, должен работать.

Пример: Calculate_purchasing_plan (60, [(10,200), ( 15 100), (35 500), (50,30)]) [5, 30, 5, 10]

...