레이무의 순간이동 연습
시간 제한6초메모리 제한1024 MB
트리에서 사제 노드는 모든 사제 중 한 명으로 균등 확률 순간이동이 가능할 때, 최적으로 행동하는 경우 A에서 B까지 가는 기대 행동 횟수를 구합니다.
문제
레이무가 사는 환상향에는 개의 신사가 있습니다. 이 중 개의 신사는 명신을 모시는 명신대사입니다. 두 신사를 양방향으로 잇는 길이 개 있고, 임의의 두 신사는 한 개 이상의 길을 사용해 서로 오갈 수 있습니다. 레이무는 일 동안 자신의 능력인 순간이동을 연습하기로 했습니다. 번째 날에는 번 신사에서 출발해 마리사가 있는 번 신사까지 가려고 합니다. 레이무는 다음 동작을 이용해 신사 사이를 이동합니다.
- 현재 신사와 길로 직접 연결된 신사 중 하나를 골라 이동합니다.
- 지금 있는 신사가 명신대사이면, 지금 있는 신사를 포함한 개의 명신대사 중 하나로 동일한 확률로 무작위 순간이동합니다.
마리사는 레이무가 빨리 연습을 끝내고 자신과 놀아주기를 바랍니다. 그래서 어떤 순서로 동작을 사용해야 하는지 알려주려고 합니다. 매 순간 번 신사에 도착하기까지 필요한 동작 횟수의 기댓값이 최소가 되도록 선택한다고 할 때, 번 신사에서 번 신사까지 가는 동작 횟수의 기댓값을 출력하세요.
입력
첫 줄에 , , 가 공백으로 구분되어 주어집니다. (; ; ) 다음 개의 줄에는 와 가 주어집니다. 이는 번 신사와 번 신사가 길로 연결되어 있다는 뜻입니다. () 임의의 두 신사는 한 개 이상의 길을 사용해 서로 오갈 수 있다고 보장됩니다. 다음 줄에는 명신대사의 신사 번호 가 주어집니다. () 다음 개의 줄에는 와 가 주어집니다. 이는 번째 날에 번 신사에서 출발해 번 신사까지 간다는 뜻입니다. (; )
출력
개의 줄을 출력합니다. 번째 줄에는 번 신사에서 번 신사에 도착하기 위한 동작 횟수의 기댓값을 출력합니다. 정답과의 상대 오차가 이하여야 합니다.