Директор 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:
Для одной ириски, одного леденца и одной помадки сделать такие наборы нельзя.

Ответы

Ответ дал: dorf66
15

x = int(input())

y = int(input())

z = int(input())

a = x + z - y

b = y + z - x

c = x + y - z

if all(i > 0 and i & 1 == 0 for i in [a, b, c]):

   print(a >> 1, 0, a >> 1)

   print(0, b >> 1, b >> 1)

   print(c >> 1, c >> 1, 0)

else:

   print('Impossible')

Объяснение:

помог чем смог))))


dorf66: копируйте и вставляйте
ebyheiweter: В идеале a >> 1 заменить на a//2 и т.д, иначе программа будет плохо работать с большими числами
dorf66: смотрите смогу кинуть скрин если что то не так
Вас заинтересует