#166. Đường đi dài nhất (LONGPATH)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một đồ thị có hướng không có chu trình (DAG) với N đỉnh và M cạnh. Các đỉnh được đánh số từ 1 đến N . Tìm độ dài của đường đi dài nhất trong đồ thị. Độ dài của một đường đi là số cạnh của nó.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên N M .
  • M dòng tiếp theo, mỗi dòng chứa hai số nguyên x_i y_i , biểu thị một cạnh có hướng từ đỉnh x_i đến đỉnh y_i .

Kết quả: In ra một số nguyên duy nhất là độ dài của đường đi dài nhất trong đồ thị.

Ví dụ:

Dữ liệu:

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

Kết quả:

3

Giải thích: Đường đi dài nhất là 1 \to 3 \to 2 \to 4 , có 3 cạnh.

Giới hạn:

  • 2 \le N \le 10^5
  • 1 \le M \le 10^5
  • Đồ thị đã cho là một DAG.