From d5018b6476b30f3b007a0f7ed4127066171d716a Mon Sep 17 00:00:00 2001 From: Zver Date: Tue, 16 Dec 2025 11:22:09 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=2014=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson.14.py | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 lesson.14.py diff --git a/lesson.14.py b/lesson.14.py new file mode 100644 index 0000000..3523b7b --- /dev/null +++ b/lesson.14.py @@ -0,0 +1,85 @@ +''' ****** Задание 14 из 20 ********* +* Главный повар детского сада хочет быстрее определять, какие блюда можно приготовить на обед. +У него есть список доступных продуктов и список рецептов. + +Напишите программу, которая по списку имеющихся продуктов и рецептам определяет, какие блюда можно приготовить. + +Формат ввода +Число продуктов (N), которые имеются в наличии. +N строк с названиями продуктов. +Число рецептов (M), о которых имеется информация. +M блоков строк для каждого из рецептов. +В первой строке каждого блока записано название блюда. +Во второй — число ингредиентов. +Затем перечисляются сами ингредиенты, требуемые для приготовления блюда. + +Формат вывода +Список блюд, которые можно приготовить в алфавитном порядке. +Если ни одно из блюд нельзя приготовить, следует вывести «Готовить нечего». + + +Подсказка +Сформируйте множество продуктов в наличии. + +При обработке блюд формируйте множество продуктов для него. + +Над множествами можно производить операцию first >= second, которая проверяет включение множества second в множество first. + +Пример 1 +Ввод + +4 +Яблоки +Хлеб +Варенье +Картошка +3 +Тосты +2 +Хлеб +Варенье +Яблочный Сок +1 +Яблоки +Яичница +1 +Яйца +Вывод + +Тосты +Яблочный Сок +''' + + +if __name__ == "__main__": + available_ingredients = [] + cookable_dishes = set() + + ingredients_count = int(input()) + for _ in range(ingredients_count): + available_ingredients.append(input()) + + total_dishes = int(input()) + for _ in range(total_dishes): + dish_name = input() + required_ingredients_count = int(input()) + + can_cook = True + for _ in range(required_ingredients_count): + if input() not in available_ingredients: + can_cook = False + + if can_cook: + cookable_dishes.add(dish_name) + + if cookable_dishes: + for dish in sorted(cookable_dishes): + print(dish) + else: + print('Готовить нечего') + + + + + +