import sys
input=sys.stdin.readline
N,W=map(int,input().split())
Tree=[ [] for _ in range(N+1) ]
for i in range(N-1):
a,b=map(int,input().split())
Tree[a].append(b)
Tree[b].append(a)
count=0
for i in range(2,len(Tree)):
if len(Tree[i])==1: #리프 노드라면
count+=1
print("%.3f"%(W/count))
📌 어떻게 접근할 것인가?
문제를 잘 읽어보자. 루트노드부터 물을 흘려보내서 점점 아래로 물이 내려간다.
이때 가장 중요한 문장은 다음과 같다.
즉 결국에는 물이 리프노드에만 존재하게 된다. 따라서 리프노드의 개수를 물의 양에 나눈 값이 답이 된다.
✅ 코드에서 주의 해야할점