#426. 旅行家

旅行家

【问题描述】

小 H 是旅行家。这天,他来到一个景区。

景区内有 N 个景点,编号为 1 ~ N。有 M 条单向通行的道路。每条道路连接两个不同的景点(无自环)。从一个景点出发到另一个景点最多有一条直接道路(无重边)。

小 H 从 1 号景点开始旅行,最后再回到 1 号景点。作为旅行家,他自然想到达尽可能多的景点。由于道路都是单向通行的,小 H 去某些景点可能就需要绕行很多路。于是,他想悄悄地选择一条道路逆行一次。他最多逆行一条道路,且最多逆行一次。当然,他也可能放弃逆行的想法,一条道路也不逆行。在旅行中,小 H 可以多次经过同一条道路,多次经过同一个景点。

问:小 H 最多能到达多少个景点?

【输入】

第一行:两个整数 N, M

接下来 M 行,每行两个整数 u, v 表示从景点 u 到景点 v 有一条单向通行的道路。

【输出】

一个整数,表示小 H 最多能到达的景点个数。

【样例输入】

4 4
1 2
2 1
3 1
3 4

【样例输出】

3

【数据范围】

30 % 的数据:1 ≤ N ≤ 100, 1 ≤ M ≤ 500

100 % 的数据:1 ≤ N, M ≤ 10510^5, 1 ≤ u, v ≤ N