Лучшие помощники
2 апреля 2023 12:26
763

Задача 4 [10 баллов]Директор IT-школы Борис Иванович поручил Васе и Маше собрать пакеты с подарками. На столе стоят три коробки. В одной коробке X ирисок, в другой Y леденцов, в третьей Z помадок. Борис Иванович сказал, что в каждом пакете с подарками должно быть поровну конфет двух видов и что надо использовать все конфеты. Вася с Машей должны собрать такие подарки или объяснить, что это невозможно.
Программа должна прочитать три положительных целых числа. В первой строке число A — количество ирисок, во второй строке число B — количество леденцов, в третьей строке число C — количество помадок. Известно, что A⩾B⩾C.
Если собрать наборы не удастся, она должна вывести «Не получается» (без кавычек). Если удастся, то несколько троек чисел, описывающих наборы. В каждой тройке чисел должен быть один ноль и два целых положительных числа. Первое число обозначает количество ирисок, второе число — количество леденцов, третье — количество помадок.
Суммарное число каждого типа конфет должно совпадать с заданным.
Если есть несколько способов собрать такие наборы, выведи любой.
Пример 1:
Для 14-ти ирисок, 8-ми леденцов и 18-ти помадок можно сделать такие наборы:
14 8 18
8 0 8 (это первый набор, 8 ирисок и 8 помадок)
2 2 0 (это второй набор, 2 ириски и 2 леденца)
0 6 6 (это третий набор, 6 леденцов и 6 помадок)
4 0 4 (это четвёртый набор, 4 ириски и 4 помадки)
Пример 2:
Для одной ириски, одного леденца и одной помадки сделать такие наборы нельзя.

image
1 ответ
Посмотреть ответы
a, b, c = int(input()), int(input()), int(input())
x = a + c - b
y = b + c - a
z = a + b - c
if all(i % 2 == 0 for i in [x, y, z]):
print(x // 2, 0, x // 2)
print(0, y // 2, y // 2)
print(z // 2, z // 2, 0)
else:
print('Impossible')
0
·
Хороший ответ
4 апреля 2023 12:26
Остались вопросы?
Найти нужный