특정 노드를 선택해서 가장 먼 거리에 있는 노드(B)를 찾는다.찾은 노드(B) 에서 dfs로 가장 먼 거리에 있는 노드의 거리가 트리의 지름이된다.해당 알고리즘의 증명트리의 지름 증명트리의 지름을 구하는 방법만 알면dfs를 두번 돌리면 풀리는 간단한 문제
이진트리가 아니다 자식 노드가 2개 이상일 경우도 생각해야함일자로 길이를 했을경우가 자식노드 두개를 연결했을 경우 보다 더 길 수도 있다.DFS를 할 때 a -> b노드 의 가중치를 인자로 넣어준다.다음 b의 자식노드를 돌아서 가장 긴 값을 받은 가중치 인자랑 더해서
우선 간단한 ? DFS 문제이다. 리프 노드까지 내려가서 양이 몇마리가 올라오는지 체크를 하면 된다.우선 리프노드까지 내려가서 양이면 부모노드에 올라가는 양을 return 해주고양이 아닐경우에는 0 을 부모노드에 return 해준다.해당 노드마다 자식노드에서 올라온 양