아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

시부야 스크램블 교차로

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

요약
교차하는 경로 쌍 목록이 주어지면 모든 쌍이 서로 교차하는 가장 큰 집단의 크기를 구합니다.
난이도

어려움10점 중 8점

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

문제

도쿄 시부야의 스크램블 교차로는 통행량이 많아 사람들이 서로 부딪히기로 유명하다. 이 교차로를 볼록 다각형으로 모형화하자. 횡단을 앞둔 nn명은 처음에 다각형 둘레의 아래쪽 절반에 있는 점에 서 있다. 신호가 바뀌면 각 사람은 둘레의 위쪽 절반에 있는 서로 다른 점을 향해 걷기 시작한다. 각자가 그리는 경로는 스파게티처럼 구불구불하고 자기 자신과 만나기도 하지만, 다각형 밖으로 나가지 않고 서로 다른 두 경로가 두 번 넘게 만나지도 않는다.

오스카는 근처 카페에서 이 교차로를 지켜본다. 가장 왼쪽에 선 사람부터 시작해 반시계 방향으로 11번부터 nn번까지 번호를 붙였다. 누가 어떤 경로로 갈지는 모르지만, 어떤 두 사람의 경로가 서로 교차하는지는 모두 알아냈다. 이 정보는 실제로 일어날 수 있는 배치와 모순되지 않는다.

머피의 법칙에 따라 부딪힐 수 있는 사람은 모두 실제로 부딪힌다. 즉 경로가 교차하는 두 사람은 반드시 서로 부딪힌다. nn명이 모두 횡단을 마쳤을 때, 구성원끼리 빠짐없이 서로 부딪힌 모임 중 가장 큰 것의 크기를 구하라.

첫 번째 예제에서 일어날 수 있는 상황을 그린 그림이다.

입력

첫째 줄에 교차로에 있는 사람 수 nn (1≤n≤8001 \le n \le 800)과 서로 교차하는 경로 쌍의 개수 mm (0≤m≤100000 \le m \le 10000)이 주어진다.

다음 mm개 줄에는 각각 두 정수 aa와 bb (1≤a<b≤n1 \le a < b \le n)가 주어진다. 이는 aa번 사람의 경로와 bb번 사람의 경로가 서로 교차한다는 뜻이다. 같은 쌍이 두 번 주어지지는 않는다.

출력

구성원끼리 빠짐없이 서로 부딪힌 모임 중 가장 큰 것의 크기를 정수 하나로 출력한다.

예제3

  1. 예제 1

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

    입력
    5 7
    1 3
    1 5
    1 4
    2 4
    3 4
    2 5
    2 3
    
    예상 출력
    3
    
  3. 예제 3

    입력
    12 24
    2 9
    7 9
    10 12
    5 12
    3 6
    5 9
    11 12
    10 11
    3 4
    7 12
    5 8
    6 9
    3 8
    1 2
    3 9
    5 6
    1 9
    7 8
    1 6
    1 4
    8 9
    5 7
    2 4
    4 9
    
    예상 출력
    4