Слияние аккаунтов по общей почте

Графы Сложная
Дан список аккаунтов accounts. Каждый аккаунт - список строк: первый элемент - имя владельца, остальные - его email-адреса. Два аккаунта принадлежат одному человеку, если у них есть хотя бы один общий email (имя при этом может быть одинаковым у РАЗНЫХ людей - ориентироваться нужно только на пересечение email). Объедините такие аккаунты. Канонический вид ответа: в каждом объединённом аккаунте после имени email-адреса идут по алфавиту без повторов; сами аккаунты в результате отсортированы как списки строк (то есть сначала по имени, при равенстве - по первому email).
Сигнатура функции
merge_accounts(accounts: list[list[str]]) -> list[list[str]]
Примеры
ВходОжидаемый результат
[[["John", "johnsmith@mail.com", "john_newyork@mail.com"], ["John", "johnsmith@mail.com", "john00@mail.com"], ["Mary", "mary@mail.com"], ["John", "johnnybravo@mail.com"]]][["John", "john00@mail.com", "john_newyork@mail.com", "johnsmith@mail.com"], ["John", "johnnybravo@mail.com"], ["Mary", "mary@mail.com"]]
[[["A", "a1@mail.com"]]][["A", "a1@mail.com"]]
1решили
1пытались
100%успешность
Войдите, чтобы решить →