Сделал 14 задание
This commit is contained in:
parent
3865f0984f
commit
d5018b6476
85
lesson.14.py
Normal file
85
lesson.14.py
Normal file
|
|
@ -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('Готовить нечего')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in a new issue