Можно ли пройти все курсы (топологическая сортировка)

Графы Средняя
Дано n курсов (0..n-1) и список зависимостей edges, где [a, b] означает 'курс a требует предварительно пройденный курс b'. Определите, можно ли пройти все курсы (то есть нет циклической зависимости) - алгоритм Кана с очередью.
Сигнатура функции
topological_order_exists(n: int, edges: list[list[int]]) -> bool
Примеры
ВходОжидаемый результат
[2, [[1, 0]]]true
[2, [[1, 0], [0, 1]]]false
[1, []]true
[3, [[1, 0], [2, 1]]]true
[3, [[1, 0], [2, 1], [0, 2]]]false
[4, [[1, 0], [2, 0], [3, 1], [3, 2]]]true
[5, [[0, 1], [1, 2], [2, 3], [3, 4], [4, 0]]]false
[4, []]true
[6, [[1, 0], [2, 0], [3, 1], [3, 2], [4, 3], [5, 4]]]true
[3, [[0, 1], [1, 2], [2, 0]]]false
1решили
1пытались
100%успешность
Войдите, чтобы решить →