#P1583. 2022.11.03-秋招-第二题-指令排序

2022.11.03-秋招-第二题-指令排序

题目内容

塔子哥最近在做一个工程,工程里面有很多的指令,假设指令 AAa=1a= 1 ;指令 BBb=2×ab=2\times a

AA 指令define了变量 aaBB 指令 useuse 了变量 aa , 我们称 AAPRO(producer)PRO(producer)BBCON(consumer)CON (consumer) ,他们之间的延时称为 latencylatency

AABB 之间有多条依赖,取最大的 IatencyIatency , PRIORITY(A)PRIORITY (A) 表示指令 AA 的优先级,其计算公式如下: PRIORITY(A)=PRIORITY(B)+latencyPRIORITY(A)= PRIORITY(B) + latency

AA 有多个 CON(B1,B2)CON (B1, B2) ,其 lategcylategcy 分别为 (L1,L2)(L1,L2) : $PRIORITY(A)= max (PRIORITY(B1)+ L1, PRIORITY(B2)+L2)$ ;

AA 没有 CONCON : PRIORITY(A)=0PRIORITY(A)=0

现有若干条指令(数据依赖没有环),编号分别为 1,2,...,n1,2,...,n 现需要根据其 PRIORITYPRIORITY 对其进行排序,若两条指令的 PRIORITYPRIORITY 相同,则根据其编号先后进行排序。

输入描述

第一行:指令数 nn (最大不超过 100100 ), 关系行数 mm (最大不超过 500500 )

2m+12 一m+1 行: PROCONPRO-CON 关系,如 (1 2 4)(1\ 2\ 4) 表示编号 11 和编号 22 指令存在 PROCONPRO-CON 关系,其 latency=4latency=4

输出描述

输出最终的排序编号: 1 2 31\ 2\ 3

样例

样例一:

输入

4 3
1 2 1
2 3 1
3 4 2

输出

1 2 3 4

样例二:

输入

3 3
1 2 1
3 1 2
3 2 1

输出

3 1 2