거리 합

시간 제한4초메모리 제한512 MB

요약
간선이 최대 n+42개인 연결된 무방향 무가중 그래프에서 모든 순서 없는 정점 쌍의 최단 거리 합을 구한다.
난이도

어려움10점 중 8점

유형
그래프, BFS, 트리, 구현
정답자
아직 제출이 없습니다

문제

연결된 무향 무가중 그래프가 주어진다. 두 정점 uu와 vv 사이의 거리 d(u,v)d(u, v)는 두 정점을 잇는 최단 경로에 포함된 간선의 개수로 정의한다. 모든 순서 없는 정점 쌍 (u,v)(u, v)에 대한 d(u,v)d(u, v)의 합을 구하라.

입력

첫 번째 줄에 두 정수 nn과 mm이 주어진다 (2≤n≤1052 \le n \le 10^5 ; n−1≤m≤n+42n-1 \le m \le n+42). nn은 정점의 개수, mm은 간선의 개수이다. 정점은 11부터 nn까지 번호가 매겨져 있다.

다음 mm개의 줄에는 각각 두 정수 xix_i와 yiy_i가 주어진다 (1≤xi,yi≤n1 \le x_i, y_i \le n; xi≠yix_i \ne y_i). 이는 ii번째 간선의 양 끝점이다.

두 정점 사이에는 간선이 최대 하나만 존재한다.

출력

그래프의 모든 순서 없는 정점 쌍 사이의 거리 합을 나타내는 정수 하나를 출력한다.

힌트

첫 번째 예제에서 간선으로 연결된 네 쌍의 정점 사이의 거리는 모두 1이고, d(1,4)=d(2,4)=2d(1, 4) = d(2, 4) = 2이다.

예제2

  1. 예제 1

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

    입력
    7 10
    1 2
    2 6
    5 3
    5 4
    5 7
    3 6
    1 7
    5 1
    7 4
    4 1
    
    예상 출력
    34