
Сдать решение задачи C-1-Предприниматель Дмитрий (тест 1) Оставшиеся посылки: 100 Предприниматель
Дмитрий (тест 1) Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования. Тесты указаны в самом условии, от вас требуется лишь ввести ответы на них в тестирующую систему. Предприниматель Дмитрий решил, что хочет заняться выпечкой кренделей. Недавно он получил самый первый и самый важный заказ на выпечку N кренделей, на исполнение которого у него есть всего K дней. В самом начале у Дмитрия нет кренделей для заказа. В день сам Дмитрий может выпечь только A кренделей. Если он накопит некоторое количество кренделей, он сможет нанять на них знакомых, занимающихся выпечкой — Викторию или Алексея. Виктория согласна помочь Дмитрию, если он даст ей в подарок B v кренделей, а Алексей — если получит в подарок B a кренделей. Помогают Виктория и Алексей следующим образом: 1. Дмитрий дарит знакомому количество кренделей, которое тот просил, и тратит один день на его обучение выпечке кренделей по особой технологии. Таким образом, в этот день Дмитрий потратит уже накопленные крендели на знакомого, и не будет ничего выпекать сам, потому что занят обучением. Дмитрий не может одновременно обучать Викторию и Алексея, если он хочет нанять обоих, ему надо потратить два дня. 2. Со следующего дня после обучения знакомый начинает помогать Дмитрию, выпекая некоторое количество кренделей каждый день. Виктория будет выпекать дополнительно по C v кренделей каждый день, а Алексей по C a кренделей. Так как вы грамотный бизнес-аналитик, Дмитрий решил попросить вас помочь ему в составлении плана для выполнения заказа. Вам необходимо написать через пробел последовательность команд для Дмитрия в каждый из K дней, в которой каждая команда будет записываться цифрой от 1 до 3 и обозначать следующее: 1 — Дмитрий выпекает крендели; 2 — Дмитрий тратит весь день на обучение Виктории выпечке кренделей и отдает ей B v кренделей. Таким образом, в этот день сам Дмитрий только отдаст B v кренделей, а во все последующие дни Виктория будет выпекать дополнительно C v кренделей; 3 — Дмитрий тратит весь день на обучение Алексея выпечке кренделей и отдаёт ему B a кренделей. Таким образом, в этот день сам Дмитрий только отдаст B a кренделей, а во все последующие дни Алексей будет выпекать дополнительно C a кренделей. В результате должна получиться последовательность из K цифр от 1 до 3, записанная через пробел. Когда Дмитрий закончит выполнять команды, у него должно быть не менее N кренделей. Гарантируется, что при правильной стратегии Дмитрий может выполнить заказ. Примечание Тест №1: N = 12 , K = 4 , A = 3 , B v = 2 , C v = 2 , B a = 1 , C a = 1 ; Тест №2: N = 43 , K = 6 , A = 7 , B v = 10 , C v = 6 , B a = 8 , C a = 4 ; Тест №3: N = 118 , K = 10 , A = 11 , B v = 43 , C v = 10 , B a = 13 , C a = 5 ; Тест №4: N = 420 , K = 15 , A = 21 , B v = 12 , C v = 9 , B a = 10 , C a = 7

Ответы на вопрос

Ответ:c-1: 1 1 1 1
c-2: 1 1 2 1 1 1
c-3: 1 1 1 1 1 2 1 1 1 1
c-4: 1 1 2 1 1 1 1 1 1 1 1 1 3 1 1 1 1
Объяснение:
Вот так как то



Ответ:
С1 - 1 1 1 1
С2 - 1 1 2 1 1 1
С3 - 1 2 1 3 1 1 1 1 1 1
С4 - 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1



Для решения этой задачи можно использовать жадный алгоритм. Ниже представлен алгоритм решения задачи:
Создайте переменные для хранения текущего количества кренделей у Дмитрия (начально равно 0), а также переменные для хранения количества дней обучения Виктории и Алексея (начально равно 0).
Пока текущий день меньше K (количество дней на выполнение заказа):
a. Если текущее количество кренделей больше или равно N (заказ выполнен), завершите выполнение алгоритма.
b. Иначе, определите, сколько кренделей Дмитрий может выпечь в этот день (минимум из A, Bv и Ba).
c. Если Дмитрий может выпечь крендели в этот день, добавьте 1 в текущий день и добавьте команду "1" в последовательность команд.
d. Если Дмитрий не может выпечь крендели, определите, кого обучать (Викторию или Алексея) и сколько дней обучения осталось до завершения обучения (Cv - количество кренделей, которые Виктория или Алексей выпекут каждый день после обучения).
e. Добавьте команду "2" или "3" (в зависимости от того, кого обучаете) в последовательность команд.
f. Увеличьте количество кренделей у обучаемого на Bv или Ba (в зависимости от того, кого обучаете).
g. Увеличьте количество дней обучения Виктории или Алексея на 1.
Выведите последовательность команд, которую вы получили.
Этот алгоритм будет строить последовательность команд таким образом, чтобы выполнить заказ за минимальное количество дней, используя обучение Виктории и Алексея, когда это необходимо.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili