Предмет: Информатика, автор: olgao6553

СРОЧНО!

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


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


Номер аллеи



Максимальное количество вишен



Максимальное количество черешен


1



3



6


2



7



5


3



10



10


4



15



7


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


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


Если Вы не можете дать ответ для какой-то из аллей, то запишите в качестве ответа для данной аллеи любое число.


Рассмотрим пример. Допустим, что на какой-то аллее разрешено посадить не более 2 вишен и не более 4 черешен. Ниже на рисунке приведен один из оптимальных вариантов посадки деревьев: ЧВЧВЧЧ (Ч — черешня, В — вишня).

Ответы

Автор ответа: archery
0

Ответ:

9

11

20

15

Код:

def VishniChereshni(mas):

   mas = sorted(mas, key=lambda x: x[0]) # сортируем массив по первому элементу

   for (i, vishni, cherry) in mas: # проходимся по всему массиву

       # print(i, vishni, cherry, vishni + cherry)

       res = vishni + cherry if vishni - cherry <= 1 else 2 * cherry + 1

       print(res)

VishniChereshni([[1, 3, 6], [3, 10, 10], [4, 15, 7] , [2, 7, 5]])

# способ ввода не описан, потому выбран наиболее удобны - через массивы

Похожие вопросы
Предмет: Математика, автор: pupsitvoia