[A] Artistic Graph Coloring Task

시간 제한1초메모리 제한1024 MB

요약
방향 비순환 그래프가 주어질 때, 모든 경로 위 정점의 색이 서로 다르도록 하는 최소 색 개수를 구한다.
난이도

보통10점 중 7점

유형
그래프, 동적 계획법, 위상 정렬
정답자
아직 제출이 없습니다

문제

히바이는 새로운 예술 작품을 만들기로 했다. 모든 예술 작품에 의미를 담는 히바이는 다음과 같은 생각을 담아 예술 작품을 만들기로 했다.

  • 이번 예술 작품은 “모든 것에는 순서가 있고 흐름이 있다”는 것을 담는 방향 비순환 그래프를 기반으로 한다.
  • 또한, “모든 것에는 저마다의 색이 있다”는 점을 담아 그래프의 각 정점에 색깔을 칠할 것이다.
  • 여기에, “세상에는 어떻게 보아도 새로운 것들이 넘쳐난다”는 점을 담아 그래프 위의 임의의 경로에 대해 해당하는 경로 위의 모든 정점의 색깔을 다르게 칠할 것이다.
  • 마지막으로, “그럼에도 넓게 보면 생각보다 비슷한 것들은 많다”는 점을 담아 사용하는 색깔의 개수를 최소화할 것이다.

방향 비순환 그래프가 주어질 때, 히바이가 위와 같은 생각을 담아 정점을 칠한다면 최소 몇 개의 색깔을 사용해야 하는지 구해보자.

입력

첫째 줄에는 방향 비순환 그래프의 정점 개수 NN과 간선 개수 MM이 공백으로 구분되어 주어진다. (1≤N≤200,000;(1\le N\le 200\\, 000; 0≤M≤300,000)0\le M\le 300\\, 000)

둘째 줄부터 MM개의 줄에 걸쳐 두 정수 vv, ww가 공백으로 구분되어 주어진다. 이는 vv번 정점을 시작점으로 하고, ww번 정점을 끝점으로 하는 방향 간선을 의미한다. (1≤v,w≤N)(1\le v,w\le N)

출력

첫째 줄에 히바이가 최소 몇 개의 색깔을 사용해야 하는지 출력한다.

예제2

  1. 예제 1

    입력
    3 3
    1 2
    1 3
    2 3
    
    예상 출력
    3
    
  2. 예제 2

    입력
    4 0
    
    예상 출력
    1