最小拓扑序
topsort.pas/c/cpp
1s/64MB
【题目描述】
给一个有向无环图,求其字典序最小的拓扑序。
一个拓扑序被认为字典序{pi}最小当且仅当对于任何其他拓扑序{qi},均存在正整数k,使得对于所有i<k有pi=qi且pk<qk。
【输入】
输入第一行包含两个数n, m分别表示有向无环图的点数和边数。
接下来m行,每行两个数ai, bi,表示图中存在一条ai指向bi的有向边。
【输出】
输出n个数,每个数用空格隔开,表示该图的拓扑序。
【输入样例】
3 1
2 1
【输出样例】
2 1 3
【样例解释】
2, 1, 3
2, 3, 1
3, 2, 1
均为合法拓扑序,但是2, 1, 3为最小字典序的拓扑序。
【数据规模】
50%的数据满足:n<=1000
100%的数据满足:1<=n<=100000, 1<=m<=100000, 1<=ai,bi<=n
保证数据至少存在一种合法的