#P1860. 2024.8.1-用友-第一题-生产线

2024.8.1-用友-第一题-生产线

小友设计了一条新的生产线,在该条生产线上共有0-n种工序。每种工序之间存在上下游关系,如果一种工序有下游工序,则为终点工序。如果一种工序有可能下游工序均可到达终点工序,则称该工序为合规工序。

给你一个有向图,其中有n个节点,表示不同种工序,以及不同工序之间的关系。请计算该生产线中,所有的合规工序,并按照升序排列。

输入描述

第一行输入正整数nn,表示共有nn个工序节点;接下来nn行,每行有(1jn)(1 \le j \le n)个数,表示工序节点与其余nn个工序节点上下游关系。 注意:若工序节点为终点工序,则j=1j=1,且数值为-1。

输出描述

输出一个数组,用来表示所有的合规工序,并按照升序排列。

补充说明

  • n==graph.lengthn == graph.length
  • 1n1041 \le n \le 10^4
  • 0n[i].lengthn0 \le n[i].length \le n
  • 1n[i][j]n1-1 \le n[i][j] \le n - 1
  • n[i]n[i] 按严格递增顺序排列
  • 图中可能包含自环

例1

输入

2
3 4
0 4

输出

4

说明

只有工序4是终点工序,即为合规工序。

例2

输入

7
1 2
2 3
5 0
5
-1
-1

输出

2 4 5 6

说明

工序5和6为终点工序,即为合规工序。工序2和4开始的所有下游工序最终指向终点工序,按升序排列最终结果为2, 4, 5, 6。