又到了一年的毕业季,小明的姐姐正在奋战毕业论文,书写论文 需要查阅非常多的文献资料,文献也会引用别人的文献,姐姐需要把每篇文献 最原始的出处查找出来。假设现在有n(n< 10^5)篇文献(编号从 1 开始),m( m<= 10^6 ) 条参考文献引用关系,姐姐从编号 1 开始阅读,请帮姐姐设计一种方 法,可以不重复、遗漏的看完所有文献,要求在阅读时如果遇文献有引用,需 要看完后继续看引用的文献,直到当前文献没有任何引用后,才返回上一步继 续看其他文献。如果同时有多篇文献可阅读,优先看编号小的文章(因此可能需 要先排序)。不保证编号为 1 的文章没有被其他文献引用
第 1 行为 2 个数,n 和 m,分别表示一共有 n(n≤10^5 )篇文献(编号为 1 到 n) 以及 m(m≤10^6 )条参考文献引用关系; 接下来 m 行,每行有两个整数 a,b 表示文章 a 有参考文献 b。
一行阅读文献的顺序,每个节点用 1 个空格分开。
8 9 1 2 1 3 1 4 2 5 2 6 3 7 4 7 4 8 7 8
1 2 5 6 3 7 8 4
对于 40%的数据,n<=10^4,m<=10^5
对于 100%的数据,n<=10^5,m<=10^6