Найти - Пользователи
Полная версия: Множества
Начало » Центр помощи » Множества
1
lightluck134
Уже несколько недель не могу решить следующую задачу, все коды не проходят, а сдавать на курсере надо уже сегодня…
Каждый из N школьников некоторой школы знает Mᵢ языков. Определите, какие языки знают все школьники и языки, которые знает хотя бы один из школьников.

Формат ввода
Первая строка входных данных содержит количество школьников N. Далее идет N чисел Mᵢ, после каждого из чисел идет Mᵢ строк, содержащих названия языков, которые знает i-й школьник. Длина названий языков не превышает 1000 символов, количество различных языков не более 1000. 1≤N≤1000, 1≤Mᵢ≤500.

Формат вывода
В первой строке выведите количество языков, которые знают все школьники. Начиная со второй строки - список таких языков. Затем - количество языков, которые знает хотя бы один школьник, на следующих строках - список таких языков.

Помогите, пожалуйста, разобраться.
marvellik
 students = int(input()) #получаешь количество учеников
list_set = [] # заводишь пустой список
for i in range(students):
    language = set() # для каждого ученика заводим пустое множество
    for _ in range(int(input())): # получаем количество языков для каждого ученика
        language.add(input()) # получаем язык в множество
    list_set.append(language) # добавляем множество в список
general = set.intersection(*list_set) # получаем пересечение множеств списка
polyglot = set.union(*list_set) # получаем объединение множеств
print(len(general),*sorted(general),sep = '\n') # выводим количество и язык который знают все ученики 
# через разделитель конец строки
print(len(polyglot),*sorted(polyglot),sep ='\n') # тоже но языки которые знает один ученик

или с генераторами
 students = [{input() for j in range(int(input()))} for i in range(int(input()))]
general, polyglot = set.intersection(*students), set.union(*students)
print(len(general), *sorted(general), sep='\n')
print(len(polyglot), *sorted(polyglot), sep='\n')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB