섬 투어
면접 대비시간 제한1초메모리 제한1024 MB
각 섬의 나가는 간선이 최대 하나인 방향 그래프에서, 한 섬에서 출발해 같은 섬을 두 번 방문하지 않고 갈 수 있는 섬의 최대 개수를 구합니다.
문제
섬들은 집라인으로 연결되어 있다. 관광객은 집라인을 타고 한 섬에서 다른 섬으로 이동할 수 있다. 해 질 녘 바다 위를 달리는 집라인에서는 햇빛이 비치는 바다 위로 반짝이는 불빛과 숨이 멎을 듯한 자연 경관을 볼 수 있다. 이 섬들은 관광객에게 인기 있는 명소다. 섬마다 여러 색깔의 꽃이 가득하다. Optimizer라는 관광객은 임의의 섬에서 출발하여 가능한 한 많은 서로 다른 섬을 방문하려고 한다.
섬들은 방향 그래프 로 나타낸다. 섬 에서 다른 섬 로 가는 집라인은 방향 간선 로 나타낸다. 각 섬에서 나가는 집라인은 최대 한 개다. 즉, 모든 정점 에 대해 나가는 간선은 최대 하나이다.
예를 들어 아래 그림은 섬들을 방향 그래프로 나타낸 것이다.

아래 그래프의 점선 경로는 가능한 한 많은 서로 다른 섬을 방문하는 가장 긴 여행을 나타낸다.

집라인으로 연결된 섬들을 나타내는 방향 그래프 가 주어졌을 때, Optimizer가 방문할 수 있는 섬의 최대 개수를 구하는 프로그램을 작성하라. Optimizer는 임의의 섬에서 출발할 수 있으며, 같은 섬을 두 번 이상 방문할 수 없다.
입력
프로그램은 표준 입력에서 읽는다. 첫 줄에는 두 정수 과 ()이 주어진다. 여기서 은 집라인 연결(간선)의 수이고, 은 섬(정점)의 수이다. 섬은 부터 까지 번호가 매겨진다. 이후 개의 줄에서 번째 줄에는 방향 간선 를 나타내는 두 정수 와 가 주어진다. 각 정점에서 나가는 간선은 최대 하나이다.
출력
프로그램은 표준 출력에 쓴다. 출력은 한 줄이며, 임의의 섬에서 집라인을 타고 출발하여 방문할 수 있는 서로 다른 섬의 최대 개수를 출력한다.