DZY Loves Topological Sorting

Accepts: 112
Submissions: 586
Time Limit: 4000/2000 MS (Java/Others)
Memory Limit: 131072/131072 K (Java/Others)
问题描述
一张有向图的拓扑序列是图中点的一个排列,满足对于图中的每条有向边$(u\rightarrow v)$ 从 $u$ 到 $v$,都满足$u$在排列中出现在$v$之前。
现在,DZY有一张有向无环图(DAG)。你要在最多删去$k$条边之后,求出字典序最大的拓扑序列。
输入描述
输入有多组数据。 ($TestCase\leq 5$)
第一行,三个正整数 $n,m,k(1\leq n,m\leq 10^5, 0\leq k\leq m)$.
接下来$m$行,每行两个正整数 $u,v(u\not= v, 1\leq u,v\leq n)$, 代表一条有向边$(u\rightarrow v)$.
输出描述
对于每组测试数据,输出一行字典序最大的拓扑序列。
输入样例
5 5 2
1 2
4 5
2 4
3 4
2 3
3 2 0
1 2
1 3
输出样例
5 3 1 2 4
1 3 2
Hint
数据1. 删除(2->3),(4->5)两条边,可以得到字典序最大的拓扑序列:(5,3,1,2,4).