만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

섬

면접 대비

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

요약
각 섬에 연결된 다리가 최대 두 개인 나라에서 서로 도달 가능한 모든 섬 쌍의 최단 통행료 합을 두 배로 구합니다.
난이도

보통10점 중 5점

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

문제

섬나라 이솔라는 nn개의 섬으로 이루어져 있다. 이동을 편하게 하려고 일부 섬 사이에 다리를 놓았다. 다만 어느 섬에도 교통이 몰리지 않도록 각 섬에 연결된 다리는 두 개 이하이다. 다리는 양방향으로 건널 수 있다. 정부는 다리와 도로를 유지하기 위한 재원을 마련하려고 다리를 건널 때마다 1 단위의 통행료를 받는다.

최근까지 이솔라에는 버스 노선이 없었다. 버스 회사 코레이라가 급히 설립되었고, 회사는 모든 섬 쌍 사이에 버스 노선을 만들기로 했다. 다리로 갈 수 없는 섬 쌍 사이에는 노선을 만들지 않는다.

각 노선은 하루에 두 번 운행한다. 먼저 한 방향으로 가고, 그다음 반대 방향으로 간다. 버스는 항상 가장 저렴한 경로로 이동한다. 코레이라는 버스가 다리를 건너는 통행료로 하루에 몇 단위를 쓰게 되는지 알고 싶어 한다. 이솔라에는 프로그래머가 없으므로 이 문제를 풀어 달라고 요청한다.

입력

첫 줄에 정수 nn과 mm이 주어진다 (1≤n≤1000001 \le n \le 100000; 0≤m≤n0 \le m \le n). 각각 섬의 수와 다리의 수이다. 이어서 mm개의 줄에 다리로 연결된 두 섬의 번호 xx와 yy가 주어진다 (1≤x,y≤n1 \le x, y \le n; x≠yx \neq y). 각 섬에 연결된 다리는 최대 두 개임이 보장된다.

출력

버스 노선을 운행하는 데 하루에 필요한 단위 수를 나타내는 정수 하나를 출력한다.

힌트

첫 번째 입력에서는 모든 섬이 연결되어 있지는 않다. 1번 섬에서 2번 섬까지는 다리 하나로 갈 수 있다. 1번 섬에서 3번 섬까지도 다리 하나다. 2번 섬에서 3번 섬까지도 다리 하나다. 4번 섬과 5번 섬은 1, 2, 3번 섬에서 다리로 갈 수 없다. 4번 섬에서 5번 섬까지는 다리 하나다. 합계는 2(1+1+1+1)=82(1 + 1 + 1 + 1) = 8 단위이다.

예제2

  1. 예제 1

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

    입력
    5 4
    5 4
    4 3
    3 2
    2 1
    
    예상 출력
    40