만드는 중입니다

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

회로의 저항

면접 대비

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

요약
저항값을 가진 간선으로 이루어진 트리에서 두 리프 노드를 잇는 경로의 저항 합 중 최댓값과 최솟값을 구한다.
난이도

보통10점 중 7점

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

문제

어떤 PCB (Printed Circuit Board)에는 노드 NN개가 있고, 저항 N−1N-1개가 그 사이를 사이클 없이 연결하고 있다.

PCB의 정보가 주어질 때, 두 가장자리 노드를 연결해 얻을 수 있는 가장 큰 저항값과 가장 작은 저항값을 구하려고 한다. 이때 가장자리 노드란 저항 한 개만 연결된 노드이다.

위 그림에서 두 가장자리 노드를 연결하는 가장 큰 저항값과 가장 작은 저항값을 찾으면 아래와 같은 그림이 나온다.

위 그림은 두 가장자리 노드를 연결하는 가장 큰 저항값을 만드는 데 사용되는 저항이 있는 부분을 빨간색으로 나타낸 것이다. 이때 회로에서 만든 가장 큰 저항값은 20Ω20 \Omega이다.

위 그림은 두 가장자리 노드를 연결하는 가장 작은 저항값을 만드는 데 사용되는 저항이 있는 부분을 나타낸 것이다. 이때 회로에서 만든 가장 작은 저항값은 9Ω9 \Omega이다.

PCB에서 두 가장자리 노드를 연결해 얻을 수 있는 최대 저항과 최소 저항을 구하는 프로그램을 작성하시오.

입력

첫 번째 줄에 노드의 개수 NN이 정수로 주어진다. (2≤N≤100 000)(2 \le N \le 100\,000)

그다음 N−1N-1줄에 걸쳐 각 줄에는 간선의 정보로 세 정수 pp, qq, ww가 공백으로 구분되어 주어진다. (0≤p,q<N, p≠q, 1≤w≤10 000)(0 \le p, q < N,\ p ≠ q,\ 1 \le w \le 10\,000)

pp와 qq는 저항이 연결하는 노드의 번호이고, ww는 저항의 값이다. (단위는 Ω\Omega)

출력

두 가장자리 노드를 연결하는 가장 큰 저항값과 가장 작은 저항값을 한 줄에 하나씩 순서대로 출력한다.

힌트

그림에 있는 저항의 값은 실제와 다르다.

예제1

  1. 예제 1

    입력
    10
    0 1 2
    1 2 4
    2 3 2
    3 4 1
    2 7 7
    5 6 2
    6 7 1
    7 8 5
    8 9 2
    
    예상 출력
    20
    9