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

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

버스 노선

면접 대비

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

요약
정점이 N개인 트리에서 모든 순서쌍이 고유 경로를 따라 버스를 보낼 때, 각 정류장을 지나는 버스의 수를 세어 N개 줄에 출력합니다.
난이도

보통10점 중 5점

유형
트리, 수학, DFS
정답자
아직 제출이 없습니다

문제

Kocourkov라는 체코 도시에는 공공 교통 시스템이 있다. 버스 정류장 NN개와 양방향 도로 N−1N - 1개로 이루어지고, 도로는 각각 서로 다른 두 정류장을 잇는다. 어느 정류장에서 출발하더라도 도로를 따라가면 나머지 모든 정류장에 도달한다.

매일 아침 각 정류장에서는 자기 자신을 뺀 모든 정류장으로 버스가 정확히 한 대씩 출발한다. 그래서 버스는 모두 N(N−1)N(N - 1)대다. 버스는 출발 정류장에서 도착 정류장까지 이어지는 경로 위의 모든 정류장에 한 번씩 정차한다.

정류장마다 그곳에 정차하는 버스를 모두 적은 시간표가 있어야 한다. 그 정류장에서 경로를 시작하는 버스와 그곳에서 경로를 끝내는 버스도 시간표에 들어간다.

Kocourkov의 교통 시스템 설명이 주어진다. 정류장마다 그곳에 정차하는 버스의 수를 구하라.

입력

첫 줄에 정류장의 수 NN이 주어진다. 정류장 번호는 1번부터 NN번까지다. 이어지는 N−1N - 1개의 줄에는 도시의 도로가 하나씩 주어진다. 각 줄에는 그 도로가 잇는 서로 다른 두 정류장의 번호 xx, yy (1≤x,y≤N1 \le x, y \le N)가 주어진다.

1≤N≤1061 \le N \le 10^6 이다.

출력

NN개의 줄을 출력한다. ii번째 줄에는 ii번 정류장에 정차하는 버스의 수를 정수 하나로 출력한다.

예제3

  1. 예제 1

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

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

    입력
    12
    8 6
    1 10
    10 6
    5 9
    11 6
    7 5
    6 5
    12 10
    8 3
    4 2
    4 10
    
    예상 출력
    22
    22
    22
    42
    60
    104
    22
    42
    22
    88
    22
    22