만드는 중입니다

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

베를란드 축구 연맹

면접 대비

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

요약
가중치가 있는 트리에서 다른 모든 정점까지 거리 제곱의 합이 최소가 되는 정점을 모두 찾습니다.
난이도

보통10점 중 6점

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

문제

베를란드 축구 선수권 3부 리그에는 서로 다른 nn개 도시에서 온 nn개 팀이 참가한다. 팀들은 베를란드 축구 연맹이 건설한 특수 도로로만 이동한다. 각 도로는 서로 다른 두 도시를 잇고, 양방향으로 통행할 수 있다. 각 도로에는 킬로미터 단위의 길이가 있다.

임의의 두 도시 사이에는 특수 도로만으로 이루어진 경로가 정확히 하나 있으며, 그 경로는 각 도시를 두 번 이상 지나지 않는다. 임원과 전문가도 이 도로로만 이동한다.

연맹은 이 nn개 도시 중 한 곳에 본부를 세우려 한다. 매달 본부에서 전문가 nn명이 출발하여 도시마다 한 명씩 경기장의 상태를 점검한다. 본부에서 dd킬로미터 떨어진 도시로 가는 전문가는 d2d^2베를란드 루블의 수당을 받는다.

연맹장은 매우 검소한 사람이다. 그래서 전문가에게 지급되는 수당의 합이 가장 적은 도시에 본부를 두고자 한다. 본부를 세울 수 있는 후보 도시의 목록을 출력하라.

입력

첫 줄에 도시의 수를 나타내는 정수 nn (1≤n≤1051 \le n \le 10^5)이 주어진다. 이어지는 n−1n-1개 줄에는 특수 도로가 주어진다. 각 줄에는 정수 uu, vv, ww (1≤u,v≤n1 \le u, v \le n, 1≤w≤1001 \le w \le 100, u≠vu \neq v)가 주어지며, 이는 도시 uu와 vv를 길이 ww킬로미터의 도로로 잇는다는 뜻이다.

출력

첫 줄에 조건을 만족하는 후보 도시의 수 kk를 출력한다. 둘째 줄에는 kk개의 도시 번호를 공백으로 구분하여 순서에 상관없이 출력한다.

예제1

  1. 예제 1

    입력
    6
    6 3 35
    5 2 12
    4 5 31
    4 6 14
    3 1 40
    
    예상 출력
    1
    6