F. Кашееды — 3

Вернёмся к условию, когда каждый воспитанник детского сада любит либо манную, либо овсяную, либо обе эти каши.
Напишите программу, которая позволит воспитателю узнать, какие дети любят только одну кашу.

Формат ввода

В первых двух строках указывается количество детей, любящих манную и овсяную каши (N и M).
Затем идут N+M строк — перемешанные фамилии детей.
Гарантируется, что в группе нет однофамильцев.

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

В алфавитном порядке фамилии учеников, которые любят только одну кашу.
Если таких не окажется, в строке вывода нужно написать «Таких нет».

Пример

Ввод

3
2
Васильев
Петров
Васечкин
Иванов
Михайлов

Вывод

Васечкин
Васильев
Иванов
Михайлов
Петров

Ввод

3
3
Иванов
Петров
Васечкин
Иванов
Петров
Васечкин

Вывод

Таких нет

Решение

Изменение относительно предыдущей задачи ровно одно – нам нужно вывести не количество детей, а их фамилии в алфавитном порядке.

Это значит, что нам достаточно изменить блок вывода данных в любом из используемых вариантов. Поэтому я привожу здесь только одно, классическое решение с помощью двух множеств.

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

Решение

Python
# Фильтрация фамилий

list1size = int(input())
list2size = int(input())

list1 = set()
list2 = set()


for _ in range(list1size + list2size):
    eater = input()
    if eater in list1:
        list2.add(eater)
    else:
        list1.add(eater)

# print(list1, list2)

if len(junction := (list1 ^ list2)) != 0:
    for eater in sorted(junction):
        print(eater)
else:
    print('Таких нет')
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии