Кортежи и множества · 15 из 20
Компании за столами
Задействованы также: Циклы, Словари
Организатор хочет сажать знакомых вместе. Если Галя знает Петю, а Петя знает Васю, то все трое — одна компания, даже если Галя с Васей не знакомы.
Что сделать
Разбейте гостей на компании — знакомый знакомого сидит за тем же столом.
Что приходит
svyazi— словарь «имя → список знакомых»; знакомство взаимно, даже если записано с одной стороны
Что вернуть
Список компаний: каждая — имена по алфавиту, сами компании — по первому имени.
Допишите функцию kompanii в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
Галя знает Петю, Петя — Васю, Оля не знает никого. Галя с Васей не знакомы, но через Петю они одна компания: [["Вася", "Галя", "Петя"], ["Оля"]].
kompanii({'Галя': ['Петя'], 'Петя': ['Вася'], 'Вася': [], 'Оля': []})
[['Вася', 'Галя', 'Петя'], ['Оля']]
Функция принимает словарь: имя — список знакомых. Знакомство взаимно: если А знает Б, то Б знает А, даже если в списке Б это не указано. Возвращает список компаний. Каждая компания — список имён по алфавиту; сам список компаний упорядочен по первому имени в каждой.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.