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

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

나무 파이프라인

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

요약
트리의 각 도시 u에 대해 u를 뿌리로 삼았을 때, 잎에서만 물을 공급할 수 있다고 할 때 u로 보낼 수 있는 최대 유량을 각각 구한다.
난이도

어려움10점 중 8점

유형
트리, DFS, 동적 계획법, 그래프
정답자
아직 제출이 없습니다

문제

아주 먼 옛날, NN개의 도시를 다스리는 현명한 왕이 살았다. 왕은 백성들의 삶을 개선하기로 하고 귀족들에게 혁신과 현대화, 나노기술에 힘쓰게 했다. 귀족들은 혁신적인 파이프라인 네트워크를 고안했다. 아직 나노튜브를 제대로 다루지 못했기 때문에 파이프라인은 나무로 만들어진다.

나무 파이프라인은 모든 도시를 하나의 네트워크로 연결하며, 어느 도시에서든 다른 도시로 갈 수 있다. 네트워크는 N−1N-1개의 파이프라인으로 이루어진다. 각 파이프라인은 분기 없이 한 도시에서 다른 도시로 직접 이어진다. 원래 비용 견적에 따라 추가 파이프라인도 계획되었지만, 결국 나무가 부족해졌다.

각 파이프라인의 각 방향에 대한 용량, 즉 단위 시간 동안 통과할 수 있는 유체의 양을 알고 있다. 왕국의 유명한 장인 정신 덕분에 반대 방향의 파이프라인 용량은 다를 수 있다.

왕은 백성들의 노동의 결실을 바라보며 깊이 슬퍼하고 있다. 파이프라인에 펌프질할 액체를 떠올리지 못하고 있다. 우유는 상할 것이고, 왕국에는 벌꿀이 그렇게 풍족하지도 않다. 한편 어딘가에 가뭄이 들 경우 물을 펌프질할 수도 있다. 왕은 가뭄이 들 경우 파이프라인 시스템의 효율을 알고 싶어 한다.

도시 uu에 가뭄이 들었다고 하자. 그러면 다른 모든 도시는 종단 도시와 경유 도시 두 종류로 나뉜다. 파이프라인을 따라 계산한 거리 기준으로 uu에서 더 먼 도시로 이어지는 파이프라인이 있는 도시를 경유 도시라고 한다. 나머지 도시는 모두 종단 도시다. 종단 도시에서는 원하는 만큼의 물을 가져와 파이프라인을 따라 uu로 펌프질할 수 있다. 경유 도시에서는 물을 가져올 수 없다.

종단 도시에서 도시 uu로 파이프라인을 통해 단위 시간당 펌프질할 수 있는 최대 물의 양을 구하자. 가뭄은 어느 도시에든 들 수 있으므로 각 uu의 경우에 대해 답을 계산하자.

입력

입력 파일의 첫 줄에는 정수 NN이 하나 주어진다. NN은 도시의 수다 (1≤N≤3⋅1051 \le N \le 3 \cdot 10^5). 나머지 N−1N-1개의 줄에는 파이프라인이 한 줄에 하나씩 설명된다. 각 파이프라인은 네 개의 수로 설명된다. aa는 파이프라인이 시작하는 도시의 번호, bb는 파이프라인이 끝나는 도시의 번호, CabC_{ab}는 aa에서 bb 방향의 파이프라인 용량, CbaC_{ba}는 bb에서 aa 방향의 파이프라인 용량이다 (1≤a≠b≤N1 \le a \neq b \le N, 1≤Cab,Cba≤1051 \le C_{ab}, C_{ba} \le 10^5).

파이프라인 시스템을 따라 어느 도시에서든 다른 도시로 갈 수 있음이 보장된다.

출력

입력 파일에 NN개의 정수를 한 줄에 하나씩 출력한다. kk번째 수는 도시 kk에 가뭄이 들었을 때 그 도시로 단위 시간당 펌프질할 수 있는 최대 물의 양이다.

예제1

  1. 예제 1

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