Сделал 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