돼지들 몰아내기
시간 제한1초메모리 제한128 MB
무방향 그래프의 1번 도시에서 시작한 폭탄이 매 방문마다 확률 P/Q로 폭발하고 그렇지 않으면 이웃 도시로 무작위 이동할 때, 각 도시에서 폭발할 확률을 구한다.
문제
소들은 돼지들을 땅에서 몰아내기 위해 무작위로 움직이는 악취 폭탄을 만들었다. 돼지 문명은 번부터 번까지 번호가 매겨진 개의 도시로 이루어져 있으며, 이 도시들은 개의 양방향 도로로 연결되어 있다. 각 도로는 서로 다른 두 도시를 잇고, 번 도시는 반드시 다른 도시와 적어도 하나의 도로로 연결되어 있다.
악취 폭탄은 번 도시에 놓인다. 매 시각(가장 첫 시각을 포함한다)마다, 어떤 도시에 있는 폭탄은 다음 두 가지 중 정확히 하나를 한다.
- 확률 로 폭탄이 터져서 현재 있는 도시를 오염시키고, 과정이 끝난다.
- 그렇지 않으면(확률 ) 폭탄은 터지지 않는다. 이때 폭탄은 현재 도시에서 나가는 도로 중 하나를 균일한 확률로 무작위로 골라, 그 도로를 따라 이웃 도시로 이동한다. 한 도시에서 나가는 모든 도로는 선택될 확률이 같다.
폭탄이 무작위로 돌아다니기 때문에, 소들은 각 도시에 대해 폭탄이 결국 그 도시에서 터질(즉 그 도시를 오염시킬) 확률을 알고 싶어 한다.
예를 들어, 도시가 두 개뿐이고 하나의 도로로 연결되어 있으며, 번 도시에서 출발한 폭탄이 도시에 들어갈 때마다 확률 로 터진다고 하자.
1--2
폭탄이 지나가는 도시들의 순서로 각 경로를 나타내면(마지막에 적힌 도시에서 폭탄이 터진다), 가능한 경로는 다음과 같다.
1
1-2
1-2-1
1-2-1-2
1-2-1-2-1
...
폭탄이 번 도시에서 터지는 경우는 지나간 도시의 개수가 홀수인 경로들(1; 1-2-1; 1-2-1-2-1; 그리고 그 이후)뿐이다. 개의 도시를 지나는 경로가 일어날 확률은 이다. 처음 개의 도시에서는 매번 터지지 않아야 하고(각각 확률 ), 번째 도시에서 터져야 하기(확률 ) 때문이다. 홀수 번째 항들을 모두 더하면 번 도시에서 터질 확률을 얻는다.
따라서 번 도시에서 터질 확률은 이다.
입력
- 첫째 줄: 네 개의 정수 , , , 가 공백으로 구분되어 주어진다 (; ; ; ; ).
- 둘째 줄부터 째 줄까지: 각 줄에는 두 정수 와 가 공백으로 구분되어 주어지며 (; ; ), 이는 도시 와 를 잇는 양방향 도로를 나타낸다.
출력
개의 줄을 출력한다. 번째 줄에는 번 도시가 오염될 확률을 소수점 아래 정확히 자리로 출력한다.