Детектив: биллинг звонков
Система непересекающихся множеств (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%успешность
Войдите, чтобы решить →