#abc245f. [abc245_f]Endless Walk

[abc245_f]Endless Walk

题目描述

我们有一个简单的有向图 GG,有 NN 个顶点和 MM 条边。顶点被标记为 Vertex 11,Vertex 22ldots\\ldots,Vertex NN。第 ii 条边 (1leqileqM)(1\\leq i\\leq M) 从顶点 UiU_i 指向顶点 ViV_i

高桥将从一个顶点开始,并在 GG 上沿着有向边从一个顶点到另一个顶点重复旅行。有多少个 GG 的顶点满足以下条件:高桥可以从该顶点开始,并通过仔细选择路径无限地继续旅行?

约束条件

  • 1leqNleq2times1051 \\leq N \\leq 2\\times 10^5
  • 0leqMleqmin(N(N1),2times105)0 \\leq M \\leq \\min(N(N-1), 2\\times 10^5)
  • 1leqUi,VileqN1 \\leq U_i,V_i\\leq N
  • UineqViU_i\\neq V_i
  • 如果 ineqji\\neq j,则 (Ui,Vi)neq(Uj,Vj)(U_i,V_i)\\neq (U_j,V_j)
  • 输入的所有值都是整数。

输入格式

输入以标准输入给出,格式如下:

NN MM U1U_1 V1V_1 U2U_2 V2V_2 vdots\\vdots UMU_M VMV_M

输出格式

输出答案。


示例输入 1

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

示例输出 1

4

从 Vertex 22 开始,高桥可以无限制地继续旅行:22 to\\to 33 to\\to 44 to\\to 22 to\\to 33 to\\to cdots\\cdots 从 Vertex 33 或 Vertex 44 开始也是一样的。从 Vertex 11 开始,他可以先去 Vertex 22,然后再次无限制地继续旅行。
另一方面,从 Vertex 55 开始,他无法移动。

因此,满足条件的顶点有四个 ― Vertex 11223344,所以应该输出 44


示例输入 2

3 2
1 2
2 1

示例输出 2

2

注意,在一个简单的有向图中,同一对顶点之间可能有两条相反方向的边。此外,GG 可能不是连通的。