Условие
Аня и Боря любят играть в разноцветные кубики, причем у каждого из них свой набор и в каждом наборе все кубики различны по цвету. Однажды дети заинтересовались, сколько существуют цветов таких, что кубики каждого цвета присутствуют в обоих наборах. Для этого они занумеровали все цвета случайными числами от 0 до 108. На этом их энтузиазм иссяк, поэтому вам предлагается помочь им в оставшейся части.
В первой строке входных данных записаны числа N и M — число кубиков у Ани и Бори. В следующих N строках заданы номера цветов кубиков Ани. В последних M строках номера цветов Бори.
Найдите три множества: номера цветов кубиков, которые есть в обоих наборах; номера цветов кубиков, которые есть только у Ани и номера цветов кубиков, которые есть только у Бори. Для каждого из множеств выведите сначала количество элементов в нем, а затем сами элементы, отсортированные по возрастанию.
Решение
def print_set(some_set): print(len(some_set)) print(*[str(item) for item in sorted(some_set)]) N, M = [int(s) for s in input().split()] A_colors, B_colors = set(), set() for i in range(N): A_colors.add(int(input())) for i in range(M): B_colors.add(int(input())) print_set(A_colors & B_colors) print_set(A_colors - B_colors) print_set(B_colors - A_colors)
с примером 0 0 (нет вообще кубиков ни у кого) - ломается