Давайте решим эту задачу шаг за шагом:
1. Считываем число M – количество блюд, которые может приготовить столовая.
2. Создаем сет (набор) dishes_set, в котором будем хранить все блюда, которые может приготовить столовая.
3. Считываем M строк с названиями блюд и добавляем каждое из них в dishes_set.
4. Считываем число N – количество дней, для которых есть списки блюд.
5. Создаем список days_list, в котором будем хранить все списки блюд для каждого дня.
6. Запускаем цикл от 0 до N-1 и выполняем следующие шаги:
– Считываем число count – количество блюд в списке для текущего дня.
– Создаем сет day_dishes_set, в котором будем хранить все блюда из списка для текущего дня.
– Считываем count строк с названиями блюд текущего дня и добавляем каждое из них в day_dishes_set.
– Добавляем day_dishes_set в days_list.
7. Создаем пустой список not_cooked_list, в котором будем хранить блюда, которые не были приготовлены ни разу.
8. Запускаем цикл по каждому блюду из dishes_set и выполняем следующие шаги:
– Создаем переменную cooked и присваиваем ей значение False.
– Запускаем цикл по каждому дне из days_list и выполняем следующие шаги:
– Если текущее блюдо есть в day_dishes_set для данного дня, то присваиваем cooked значение True и выходим из цикла.
– Если cooked равно False, то добавляем текущее блюдо в not_cooked_list.
9. Печатаем длину not_cooked_list – количество блюд, которые не были приготовлены ни разу.
10. Печатаем каждое блюдо из not_cooked_list на отдельной строке.
Готово!