← 返回题库
中级

字典序最小拓扑

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve(____):
    from collections import defaultdict
    import heapq
    n = int(____)
    graph = defaultdict(____)
    in_degree = [____] * n
    for e in edges.split(____):
        u, v = map(int, e.split(____))
        graph[u].append(____)
        in_degree[v] += ____
    heap = [i for i in range(____) if in_degree[i] == ____]
    heapq.heapify(____)
    result = []
    while heap:
        node = heapq.heappop(____)
        result.append(____)
        for neighbor in graph[node]:
            in_degree[neighbor] -= ____
            if in_degree[neighbor] == ____:
                heapq.heappush(____)
    print('____'.join(map(____)))

示例

输入
solve('0,1;0,2;1,2', 3)
期望输出
0 1 2
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码