#CSES1197. 寻找负权环

寻找负权环

题目背景

翻译自 CSES-1197 题。

题目描述

给定一个有向图,要求判断该图是否包含负权环,并且给出一个负权环的示例。

输入格式

第一行包含两个整数 nnmm:分别表示图中的节点数和边数。节点编号为 1,2,,n1,2,…,n

接下来的 mm 行,每行描述一个边,包含三个整数 aa, bbcc:表示从节点 aa 到节点 bb 的一条边,边的权重为 cc

输出格式

如果图中包含负权环,首先输出 YES,然后输出环中的节点,按顺序排列。如果有多个负权环,可以输出其中任何一个。

如果图中没有负权环,输出 NO

样例

Sample Input 1

4 5
1 2 1
2 4 1
3 1 1
4 1 -3
4 3 -2

Sample Output 1

YES
1 2 4 1

说明/提示

1n25001 \leq n \leq 2500

1m50001 \leq m \leq 5000

1a,bn1 \leq a,b \leq n

109c109-10^9 \le c \le 10^9