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

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

Shymbulak 리조트의 최장 최단경로

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

요약
N개 정점과 N개 도로로 이루어진 연결 그래프에서 가장 멀리 떨어진 모든 정점 쌍 사이의 최단 경로 수를 합산합니다.
난이도

어려움10점 중 8점

유형
그래프, BFS, 트리, 투 포인터
정답자
아직 제출이 없습니다

문제

Shymbulak 리조트에는 관광객이 찾는 장소가 NN개 있고, 길이가 모두 같은 도로 NN개가 이 장소를 잇는다. 도로는 양방향이다. 어느 장소에서 출발해도 나머지 모든 장소에 갈 수 있지만, 도로를 아주 많이 지나야 하는 장소 쌍도 있다.

운영진은 도로를 새로 놓기 전에, 서로 가장 멀리 떨어진 장소 쌍 사이에 최단 경로가 모두 몇 개인지 알고 싶다.

두 장소의 거리는 그 사이 최단 경로가 지나는 도로의 개수다. 서로 가장 멀리 떨어진 장소 쌍은 이 거리가 최대인 쌍을 뜻한다. 거리가 최대인 장소 쌍을 모두 찾고, 각 쌍의 최단 경로 개수를 전부 더한 값을 구하라.

입력

첫 줄에 정수 NN이 주어진다 (3≤N≤2000003 \le N \le 200000). 이어지는 NN개 줄에는 도로 하나가 잇는 두 장소의 번호가 주어진다. 장소 번호는 11 이상 NN 이하다. 같은 장소 쌍을 잇는 도로가 두 개 주어지는 일은 없다.

출력

거리가 최대인 모든 장소 쌍의 최단 경로 개수를 더한 값을 정수 하나로 출력한다.

노트

한 쌍 사이에 길이가 같은 최단 경로가 여러 개 있으면 그 개수를 모두 센다. 서로 다른 최단 경로가 두 개인 쌍은 답에 22를 더한다.

예제5

  1. 예제 1

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

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

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

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

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