Score : $500$ points
We have a simple directed graph $G$ with $N$ vertices and $M$ edges. The vertices are labeled as Vertex $1$, Vertex $2$, $\ldots$, Vertex $N$. The $i$-th edge $(1\leq i\leq M)$ goes from Vertex $U_i$ to Vertex $V_i$.
Takahashi will start at a vertex and repeatedly travel on $G$ from one vertex to another along a directed edge. How many vertices of $G$ have the following condition: Takahashi can start at that vertex and continue traveling indefinitely by carefully choosing the path?
Input is given from Standard Input in the following format:
$N$ $M$ $U_1$ $V_1$ $U_2$ $V_2$ $\vdots$ $U_M$ $V_M$
Print the answer.
5 5 1 2 2 3 3 4 4 2 4 5
4
When starting at Vertex $2$, Takahashi can continue traveling indefinitely: $2$ $\to$ $3$ $\to$ $4$ $\to$ $2$ $\to$ $3$ $\to$ $\cdots$
The same goes when starting at Vertex $3$ or Vertex $4$.
From Vertex $1$, he can first go to Vertex $2$ and then continue traveling indefinitely again.
On the other hand, from Vertex $5$, he cannot move at all.
Thus, four vertices ―Vertex $1$, $2$, $3$, and $4$― satisfy the conditions, so $4$ should be printed.
3 2 1 2 2 1
2
Note that, in a simple directed graph, there may be two edges in opposite directions between the same pair of vertices. Additionally, $G$ may not be connected.