Задача 2: Гирьки У Васи есть чашечные весы и набор гирек. Правда, в наборе предусмотрены гирьки только двух различных весов: 1 и 2 грамма. Набор не пустой, но гирьки одного из весов могут быть потеряны и полностью отсутствовать. Вася пытается разложить все имеющиеся гирьки на обе чаши весов так, чтобы весы оказались в равновесии (то есть разложить все гирьки на две кучки одинакового веса). Оказалось, что у него имеется n1 гирек весом 1 грамм и n2 гирек весом 2 грамма. Получится ли у него это?

Входные данные
В первой строке входных данных записано целое число n1, во второй — n2 (n1 ≥ 0, n2 ≥ 0, 0 < n1 + n2 ≤ 2×109).

Выходные данные
Если разложить гирьки на две равные кучки возможно, пограмма должна вывести слово Yes, в противном случае — No.

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

Система оценки
Решение, правильно работающее, когда входные числа не превосходят 10, будет оцениваться в

Примеры
Ввод

Вывод

Пояснение

2
1

Yes
0 1

Также правильным ответом будет
Yes
2 0

1
2

No

Smetanka82 Smetanka82    2   27.10.2021 15:39    9

Ответы
DizzyWarriorr DizzyWarriorr  27.10.2021 15:40

n1=int(input())

n2=int(input())

if n1%2==0:

   print('Yes')

else:

   print('No')

Насколько я понимаю, это должно быть верно

ПОКАЗАТЬ ОТВЕТЫ
viva32 viva32  27.10.2021 15:40

Объяснение:

n1=int(input())

n2=int(input())

if (n1+n2*2)%2==1:

   print("No")

else:

   print("Yes")

   if ((n1+n2*2)//2)%2==0:

       if n2*2<n1:

           print((n1+n2*2)//2-n2*2,n2)

       elif n2*2>n1:

           print(n1,((n1+n2*2)//2-n1)//2)

       else:

           print(n1,0)

   else:

       if n2*2<n1:

           print((n1+n2*2)//2-n2*2,n2)

       elif n2*2>n1:

           print(n1-1,((n1+n2*2)//2-n1+1)//2)

       else:

           print(n1,0)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика