78 lines
2.5 KiB
Python
78 lines
2.5 KiB
Python
''' ****** Задание 13 из 20 *********
|
||
* Главный повар детского сада готовит меню на праздник и хочет выбрать блюда, которые ни разу не подавались на этой неделе.
|
||
|
||
В его распоряжении есть список блюд:
|
||
|
||
которые можно приготовить в столовой сегодня;
|
||
которые были приготовлены в каждый из дней недели.
|
||
Напишите программу, которая по списку доступных сегодня блюд и истории приготовления на неделе определяет, что из этого можно приготовить нового.
|
||
|
||
Формат ввода
|
||
Число блюд (N), которые можно приготовить в столовой.
|
||
N строк с названиями блюд.
|
||
Число дней (M), о которых имеется информация.
|
||
M блоков строк для каждого из списков.
|
||
В первой строке каждого блока записано число блюд в заданный день, затем перечисляются эти блюда.
|
||
|
||
Формат вывода
|
||
Список блюд, которые ещё не готовились на этой неделе в алфавитном порядке.
|
||
Если все возможные блюда уже были приготовлены, следует вывести «Готовить нечего».
|
||
|
||
|
||
Подсказка
|
||
Сформируйте множество блюд, а затем вычитайте из него уже приготовленные.
|
||
|
||
Пример
|
||
Ввод
|
||
|
||
5
|
||
Овсянка
|
||
Рис
|
||
Суп
|
||
Манная каша
|
||
Рыба
|
||
2
|
||
3
|
||
Рис
|
||
Суп
|
||
Рыба
|
||
2
|
||
Рис
|
||
Рыба
|
||
Вывод
|
||
|
||
Манная каша
|
||
Овсянка
|
||
'''
|
||
|
||
|
||
if __name__ == "__main__":
|
||
available_dishes = set()
|
||
prepared_dishes = set()
|
||
|
||
total_available = int(input())
|
||
for _ in range(total_available):
|
||
dish_name = input()
|
||
available_dishes.add(dish_name)
|
||
|
||
total_menus = int(input())
|
||
for _ in range(total_menus):
|
||
daily_count = int(input())
|
||
for _ in range(daily_count):
|
||
dish_name = input()
|
||
prepared_dishes.add(dish_name)
|
||
|
||
remaining_dishes = sorted(available_dishes - prepared_dishes)
|
||
|
||
if remaining_dishes:
|
||
for dish in remaining_dishes:
|
||
print(dish)
|
||
else:
|
||
print('Готовить нечего')
|
||
|
||
|
||
|
||
|
||
|
||
|