CSES - Cycle Finding | Tìm chu trình

Xem PDF

Điểm: 1600 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn được cho một đồ thị có hướng, và nhiệm vụ của bạn là hãy xác định xem đồ thị đó có chứa một chu trình âm hay không, và đồng thời cho một ví dụ của một chu trình như vậy.

Input

  • Dòng đầu vào đầu tiên có hai số nguyên \(n\)\(m\): số lượng nút và cạnh. Các nút được đánh số \(1, 2, \ldots, n\).
  • Sau này, có \(m\) dòng mô tả các cạnh. Mỗi dòng có ba số nguyên \(a\), \(b\), và \(c\): có một cạnh từ nút \(a\) đến nút \(b\) mà độ dài của nó là \(c\).

Output

  • Nếu đồ thị chứa một chu trình âm, đầu tiên in ra YES, và sau đó là các nút trong chu trình theo thứ tự của chúng. Nếu có vài chu trình âm, bạn có thể in bất kì trong số chúng. Nếu không có chu trình âm, in ra NO.

Constraints

  • \(1 \le n \le 2500\)
  • \(1 \le m \le 5000\)
  • \(1 \le a,b \le n\)
  • \(-10^9 \le c \le 10^9\)

Example

Sample input

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

Sample output

YES
1 2 4 1


Bình luận

Không có bình luận nào.