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

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

봉쇄

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

요약
각 마을을 하나씩 봉쇄했을 때 불가능해지는 방문(그 마을을 지나야만 하던 방문과 그 마을로 가거나 오는 방문)의 수를 구한다.
난이도

보통10점 중 7점

유형
그래프, DFS, 분할 정복, 구현
정답자
아직 제출이 없습니다

문제

바이트오티아(Byteotia)에는 도시가 정확히 nn개 있고, 일부 도시 쌍은 양방향 도로로 연결되어 있습니다. 도로는 도시 안에서만 만나며(도시 밖에서는 다리, 터널, 고가도로로 서로 교차할 수 있습니다), 임의의 두 도시는 최대 한 개의 도로로만 직접 연결됩니다. 또한 어느 도시에서 출발하더라도 직접 또는 다른 도시를 거쳐 모든 도시에 갈 수 있습니다.

각 도시에는 시민이 정확히 한 명 살고 있으며, 모든 시민은 다른 모든 시민을 그 시민의 도시에서 한 번씩 방문하려고 합니다. 따라서 계획된 방문은 모두 n⋅(n−1)n \cdot (n - 1)번입니다.

시위대는 도시 하나를 봉쇄하여 그 도시에 들어가거나 나오는 것은 물론 그 도시를 지나가는 것까지 막으려고 합니다. 그러면 계획된 방문 중 일부가 불가능해집니다. 봉쇄된 도시에서 출발하거나 그 도시로 향하는 방문, 그리고 다른 두 도시 사이의 유일한 경로가 그 도시를 지나가던 방문이 그렇습니다.

각 도시에 대해, 그 도시 하나만 봉쇄되었을 때 불가능해지는 방문이 몇 번인지 구하세요.

입력

첫 줄에 도시 수 nn과 도로 수 mm이 주어집니다 (1≤n≤1000001 \le n \le 100000, 1≤m≤5000001 \le m \le 500000). 도시는 11번부터 nn번까지 번호가 매겨져 있습니다.

이어지는 mm개의 줄에는 각각 두 정수 aa와 bb가 주어지며 (1≤a<b≤n1 \le a < b \le n), 도시 aa와 도시 bb를 잇는 도로 하나를 나타냅니다.

출력

nn개의 줄을 출력합니다. ii번째 줄에는 도시 ii가 봉쇄되었을 때 이루어질 수 없는 방문의 수를 정수 하나로 출력합니다.

힌트

예제1

  1. 예제 1

    입력
    5 5
    1 2
    2 3
    1 3
    3 4
    4 5
    
    예상 출력
    8
    8
    16
    14
    8