Детектив: биллинг звонков

Система непересекающихся множеств (DSU) Сложная
У следствия есть распечатка звонков: calls - тройки [кто, кому, минута] (n абонентов, номера 0..n-1). Два абонента 'связаны', если между ними есть цепочка звонков (в любом направлении). Верните минуту, начиная с которой подозреваемые a и b оказались связаны (минуту звонка, замкнувшего цепочку), или -1, если связи так и не возникло. Обработайте звонки в порядке времени через Union-Find.
Сигнатура функции
first_contact_minute(n: int, calls: list[list[int]], a: int, b: int) -> int
Примеры
ВходОжидаемый результат
[4, [[0, 1, 5], [2, 3, 6], [1, 2, 9]], 0, 3]9
[3, [[0, 1, 2]], 0, 2]-1
1решили
1пытались
100%успешность
Войдите, чтобы решить →