M. Дайте чего-нибудь новенького!

Главный повар детского сада хочет приготовить в праздничный день блюда, которые ни разу не готовил на этой неделе.
В его распоряжении есть список блюд:

  • которые можно приготовить в столовой сегодня;
  • которые были приготовлены в каждый из дней недели.

Формат ввода

Число блюд (N), которые можно приготовить в столовой.
N строк с названиями блюд. Число дней (M), о которых имеется информация.
M блоков строк для каждого из списков. В первой строке каждого блока записано число блюд в заданный день, затем перечисляются эти блюда.

Формат вывода:

Список блюд, которые ещё не готовились на этой неделе в алфавитном порядке.
Если все возможные блюда уже были приготовлены, следует вывести «Готовить нечего».

Пример

Ввод

5
Овсянка
Рис
Суп
Манная каша
Рыба
2
3
Рис
Суп
Рыба
2
Рис
Рыба

Вывод

Манная каша
Овсянка

Решение

На примере этой задачи рассмотрим решение, которое не сохраняет изначальные данные.

Сначала создаем множество каш. После чего с помощью вложенных чисел принимаем ранее приготовленные каши и удаляем их из множества.
С помощью функции sorted() копируем с одновременной сортировкой множество оставшихся каш в список.
Если список получился не пустой, выводим его элементы по одному на строку, если список пуст – пишем, что готовить нечего.

Посмотреть код

Решение

Python
porridges = set()

for _ in range(int(input())):
    if (porridge := input()) not in porridges:
        porridges.add(porridge)

for _ in range(int(input())):
    for _ in range(int(input())):
        if (porridge := input()) in porridges:
            porridges.remove(porridge)

menu = sorted(porridges)

if not menu:
    print('Готовить нечего')
else:
    for porridge in menu:
        print(porridge)
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии