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

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

또 다른 간선

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

요약
평면 그래프가 주어질 때, 간선을 하나 추가해도 그래프가 3부분 그래프로 남는 경우의 수를 셉니다.
난이도

어려움10점 중 9점

유형
그래프, BFS, 조합론
정답자
아직 제출이 없습니다

문제

단순 무방향 그래프는 루프와 중복 간선이 없는 무방향 그래프이다.

평면 그래프는 간선들이 공통 끝점에서만 만나도록 평면 위에 그릴 수 있는 단순 무방향 그래프이다. 즉, 간선끼리 서로 교차하지 않게 그릴 수 있는 그래프이다.

독립 집합은 그래프에서 서로 인접하지 않은 정점들의 집합이다.

삼분 그래프는 정점들을 서로소인 세 개의 독립 집합으로 나눌 수 있는 단순 무방향 그래프이다.

평면 그래프가 주어진다. 이 그래프에 간선을 하나 추가하려고 한다. 어떤 간선을 추가해도 결과 그래프가 평면 그래프가 되지 않는다는 것을 알고 있다. 결과 그래프가 삼분 그래프가 되도록 간선을 하나 추가하는 방법의 수를 구하라.

결과 그래프는 단순 그래프여야 하므로 중복 간선이나 루프는 추가할 수 없다. a−ba-b와 b−ab-a는 같은 간선으로 보며 한 번만 센다.

입력

첫 줄에 정점의 개수 nn과 간선의 개수 mm이 주어진다 (3≤n,m≤3⋅1053 \leq n, m \leq 3 \cdot 10^5).

이후 mm개의 줄에 각각 두 정수 aa, bb (1≤a,b≤n1 \leq a, b \leq n, a≠ba \neq b)가 주어진다. 이는 정점 aa와 bb 사이에 간선이 있다는 뜻이다.

주어진 그래프는 위에서 설명한 조건을 만족함이 보장된다.

출력

결과 그래프가 삼분 그래프가 되도록 간선을 추가하는 방법의 수를 정수 하나로 출력한다.

힌트

마지막 예제가 아름답고 간결하지 않은가?

예제3

  1. 예제 1

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

    입력
    4 6
    1 2
    3 1
    4 1
    2 3
    3 4
    2 4
    
    예상 출력
    0
    
  3. 예제 3

    입력
    8 18
    1 2
    1 3
    1 4
    1 5
    1 6
    1 7
    2 3
    3 4
    4 5
    5 6
    6 7
    2 7
    8 2
    8 3
    8 4
    8 5
    8 6
    8 7
    
    예상 출력
    3