#D0139. Longest Path

Longest Path

问题陈述

有一个有向图 GG ,其中有 NN 个点和 MM 条边。顶点的编号为 1,2,,N1, 2, \ldots, N ,对于每个 ii ( 1iM1 \leq i \leq M ), 第 ii 条有向边从顶点 xix_i 连到 yiy_iGG 不包含有向环

GG 中最长有向路径的长度。这里,有向路径的长度是指其中边的数量。

限制因素

  • 所有输入值均为整数。
  • 2N1052 \leq N \leq 10^5
  • 1M1051 \leq M \leq 10^5
  • 1xi,yiN1 \leq x_i, y_i \leq N
  • (xi,yi)(x_i, y_i) 中的所有数对都是不同的。
  • GG 不包含有向环

输入

输入内容由标准输入法提供,格式如下:

  • NN MM
  • x1x_1 y1y_1
  • x2x_2 y2y_2
  • ::
  • xMx_M yMy_M

输出

打印 GG 中最长有向路径的长度。

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

下图中红色定向路径最长:

6 3
2 3
4 5
5 6
2

下图中红色定向路径最长:

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

下图中的红色定向路径是最长的路径之一:

来源

https://atcoder.jp/contests/dp/tasks/dp_g