
Задача 6: Наборы пирожных На складе кондитерской фабрики хранятся пирожные двух видов — круассаны
и эклеры. Круассанов A штук, а эклеров — B штук. Есть неограниченный запас подарочных коробок, в каждую коробку можно положить только три пирожных. При этом требуется, чтобы в коробке были пирожные обоих видов, то есть в одну коробку можно положить два круассана и один эклер или один круассан и два эклера. Определите, можно ли упаковать все имеющиеся пирожные в коробки и выведите подходящий способ размещения пирожных по коробкам. Входные данные Программа получает на вход два целых числа A и B, записанных в отдельных строках. 1 ≤ A ≤ 109, 1 ≤ B ≤ 109. Выходные данные Если можно разложить все пирожные по коробкам в соответствии с условием задачи, программа должна вывести два целых числа. Первое число равно количеству коробок, в которых лежит два круассана и один эклер. Второе число равно количеству коробок, в которых лежит один круассан и два эклера. Если разложить все пирожные по коробкам нужным способом нельзя, программа должна вывести одно число −1. Система оценивания Решение, правильно работающее только для случаев, когда числа A и B не превосходят 100, будет оцениваться в 60 баллов. Примеры Ввод Вывод Пояснение 4 5 1 2 Нужно взять одну коробку с двумя круассанами и одним эклером и две коробки с одним круассаном и двумя эклерами. Всего получится 4 круассана и 5 эклеров. 5 3 −1 Разложить пирожные по коробкам нельзя.

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

Ответ:
a = int(input())
b = int(input())
if (a + b) % 3 != 0:
print(-1)
elif (a + b)/3 > a or (a + b)/3 > b:
print(-1)
elif (a + b)/3 == a:
print(0)
print((a + b)/3)
elif (a + b)/3 == b:
print((a + b)/3)
print(0)
else:
if a > b:
print(int(((a + b)/3)- (((a + b)/3)-(a - b))))
print(int(((a + b)/3)-(a - b)))
if b > a:
print(int(((a + b)/3)- (((a + b)/3)-(b - a))))
print(int(((a + b)/3)-(b - a)))
Объяснение:
28 баллов)



Ответ:
a = int(input())
b = int(input())
if (a + b) % 3 != 0:
print(-1)
else:
if (a // b == 2) or (b // a == 2):
if a % 2 < b % 2:
print((a + b) // 3, 0)
elif a % 2 > b % 2:
print(0, (a + b) // 3)
else:
print(-1)
else:
if (b - a == b % a) or (a - b == a % b):
print(a // 3, (b - (a // 3)) // 2)
else:
print(-1)
36 баллов. язык python.
Объяснение:



Данная задача связана с распределением пирожных по коробкам в соответствии с определенными условиями. Мы должны определить, можно ли упаковать все пирожные в коробки таким образом, чтобы в каждой коробке были пирожные обоих видов.
Давайте рассмотрим различные случаи для определения возможности упаковки пирожных:
Если A и B оба четные числа, то мы можем упаковать пирожные следующим образом:
- Взять (A // 2) коробок с двумя круассанами и одним эклером.
- Взять (B // 2) коробок с одним круассаном и двумя эклерами.
Если A нечетное число, а B четное число, то упаковка пирожных невозможна, так как нельзя получить целое число коробок с пирожными обоих видов.
Если A четное число, а B нечетное число, то упаковка пирожных также невозможна.
Если A и B оба нечетные числа, то мы можем упаковать пирожные следующим образом:
- Взять (A // 2) коробок с двумя круассанами и одним эклером.
- Взять (B // 2) коробок с одним круассаном и двумя эклерами.
- Взять одну дополнительную коробку с двумя круассанами и одним эклером.
Теперь мы можем реализовать алгоритм, который проверяет эти условия и выводит соответствующий результат. Вот пример кода на языке Python:
pythondef pack_cakes(A, B):
if A % 2 == 0 and B % 2 == 0:
return A // 2, B // 2
elif A % 2 != 0 and B % 2 == 0:
return -1
elif A % 2 == 0 and B % 2 != 0:
return -1
elif A % 2 != 0 and B % 2 != 0:
return A // 2, B // 2, 1
# Чтение входных данных
A = int(input())
B = int(input())
# Вызов функции и вывод результатов
result = pack_cakes(A, B)
if len(result) == 2:
print(result[0], result[1])
else:
print(-1)
Пожалуйста, обратите внимание, что пример кода предназначен для языка Python. Если вы используете другой язык программирования, вам нужно будет адаптировать код соответственно.


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