반짝반짝 3
면접 대비시간 제한4초메모리 제한1536 MB
트리에서 켜진 정점 전구와 간선 전구 수의 기댓값을 초기 상태와 각 확률 교체 후에 출력합니다.
문제
국렬이는 지난여름에 쓰다 남은 전구 스트립으로 자신의 자취방에 있는 개의 정점으로 이루어진 트리를 꾸미려 한다.
트리의 각 정점에는 전구가 하나씩 설치되어 있다. 번 정점의 전구는 전원을 넣으면 의 확률로 켜진다. 전구가 넉넉했던 국렬이는 트리의 각 간선에도 전구를 하나씩 달았다. 간선에 단 전구는 양 끝 정점의 전구 중 정확히 하나만 켜져 있을 때 켜진다.
국렬이는 또 번에 걸쳐 특정 정점의 전구를 다른 전구로 바꾼다. 처음 상태와 각 교체가 끝난 뒤마다 켜진 전구 개수의 기댓값을 구하여라.
입력
첫 번째 줄에는 정점의 개수 이 주어진다. ()
두 번째 줄에는 부터 까지 주어진다. 각 값은 소수점 아래 두 자리까지 정확히 주어진다. ()
세 번째 줄부터 번째 줄까지 두 정수 , 가 주어진다. 이는 주어진 트리에서 정점 와 정점 를 연결하는 간선을 의미한다. (, )
번째 줄에는 전구를 바꾸는 횟수 가 주어진다. ()
그다음 개의 줄에 걸쳐 양의 정수 와 음이 아닌 실수 가 주어진다. 이는 정점 의 전구를 켜질 확률이 인 전구로 교체한다는 뜻이다. 는 소수점 아래 두 자리까지 정확히 주어진다. (, )
출력
첫 번째 줄에는 처음 상태에서 켜진 전구 개수의 기댓값을 출력한다. 이어서 개의 줄에 걸쳐 각 교체가 끝난 뒤의 켜진 전구 개수의 기댓값을 출력한다. 출력한 값과 정답의 절대 오차 또는 상대 오차가 이하여야 한다.