====== 트리의 지름 ====== * [[ps:problems:boj:1967|트리의 지름 (1967번)]] 문제와 이름이 똑같다. 그리고 구해야 하는 것도 똑같다. 다만 이 문제는 그냥 트리, 1967번은 rooted tree라는 점만 다르다. ===== 풀이 ===== * [[ps:트리#트리의 지름]] 참고. ===== 코드 ===== """Solution code for "BOJ 1167. 트리의 지름". - Problem link: https://www.acmicpc.net/problem/1167 - Solution link: http://www.teferi.net/ps/problems/boj/1167 """ import operator import sys from teflib import tgraph def main(): v = int(sys.stdin.readline()) graph = [{} for x in range(v)] for _ in range(v): inp = [int(x) for x in sys.stdin.readline().split()] u = inp[0] for v, dist in zip(inp[1::2], inp[2::2]): graph[u - 1][v - 1] = dist farthest = max(enumerate(tgraph.min_distances_on_tree(graph, 0)), key=operator.itemgetter(1))[0] diameter = max(tgraph.min_distances_on_tree(graph, farthest)) print(diameter) if __name__ == '__main__': main() * Dependency: [[:ps:teflib:tgraph#min_distances_on_tree|teflib.tgraph.min_distances_on_tree]] {{tag>BOJ ps:problems:boj:골드_3 ps:teflib:min_distances_on_tree}}