中级
字典序最小拓扑
未完成
中级参考
代码结构已给出,请填写 ____ 处
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
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199