1167번: 트리의 지름 www.acmicpc.net 이 문제는 트리의 지름, 즉 임의의 두 점 사이의 거리 중 가장 긴 것을 구하는 문제이다. 이는 단순히 각 노드마다 그 노드로부터 다른 노드들까지의 거리 중 최댓값을 구하고 이렇게 나온 각 노드에 대응하는 최댓값들의 최댓값을 구하면 쉽게 풀 수 있으나, 문제는 이렇게 알고리즘을 구현하면 V^2의 시간이 걸려 시간 초과가 발생한다. 이를 해결하기 위해 우선 임의의 노드를 잡아 그 노드로부터 가장 거리가 먼 노드를 찾는다. 그러면 그 노드는 놀랍게도 트리의 지름에 대응하는 경로의 양 끝 점 중 하나가 된다. 그러므로 이 노드에 대해 가장 거리가 먼 노드를 찾아 그 노드와의 거리를 구하면 그 값이 트리의 지름과 같다. 그렇다면 왜 임의의 노드에 대해 가장 ..