아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

레이저 증폭

시간 제한2초메모리 제한64 MB

요약
아래 왼쪽에서 들어온 광자 하나가 w x h 격자에서 n개의 확정 결함 칸을 제외한 나머지 칸이 확률 1-p로 결함일 때 오른쪽 위에서 기대값 k개의 광자를 내도록 하는 p를 구하고, 불가능하면 -1을 출력한다.
난이도

어려움10점 중 9점

유형
수학, 조합론, 확률, 분할 정복
정답자
아직 제출이 없습니다

문제

Sophie는 레이저 공장에서 일한다. 이 공장은 새 레이저 증폭기를 도입하려 한다. 이 장치는 격자이며, 격자의 각 노드는 광자를 받아 다시 방출한다. 왼쪽이나 아래쪽에서 받은 광자 하나마다 위쪽으로 하나, 오른쪽으로 하나의 광자를 방출하고, 이 광자들은 해당 방향에 있는 노드가 받는다. 그 방향에 노드가 없으면 광자는 사라진다. 아쉽게도 산업 규모 생산은 완벽하지 않아 격자의 일부 노드는 고장 나 있다. 고장 난 노드는 광자를 받지도, 방출하지도 않는다. 더 정확히 말하면, 일부 노드는 확실히 고장 나 있고 나머지 각 노드는 확률 1−p1-p로 고장 나 있다. 다행히 생산 중 압력을 조절하면 pp의 값을 바꿀 수 있다. Sophie의 임무는 격자의 왼쪽 아래 노드로 광자 하나를 보냈을 때 기대값으로 kk개의 광자가 격자의 오른쪽 위 모서리에 도달하도록 하는 pp의 값을 계산하거나, 그것이 불가능함을 밝히는 것이다. 그녀를 도와주자.

참고: 오른쪽 위 모서리의 노드가 고장 났다면 그 노드는 광자를 받지 않는다.

입력

입력의 첫째 줄에는 네 양의 정수 ww, hh, nn, kk가 주어진다. (1≤w,h≤5 0001 \le w, h \le 5\,000, 0≤n≤500 \le n \le 50, 1≤k≤10100001 \le k \le 10^{10000}) 이는 각각 격자의 크기(너비와 높이), 고장 난 노드의 수, 노드 (w−1,h−1)(w-1,h-1)에서 받아야 하는 광자의 수를 나타낸다. 다음 nn개 줄에는 고장 난 노드의 정보가 한 줄에 하나씩 주어진다. 각 줄에는 두 양의 정수 x,yx, y가 주어진다. (0≤x<w0 \le x < w, 0≤y<h0 \le y < h) 이는 고장 난 노드의 좌표이다. 이 노드들은 모두 서로 다르다.

출력

실수 하나를 출력한다. 이는 구하는 확률 pp이다. 그러한 확률이 존재하고 절대 오차 또는 상대 오차가 10−610^{-6} 이하이면 정답으로 인정된다. 그러한 확률이 존재하지 않으면 −1-1을 출력한다. 그러한 확률이 실제로 존재하지 않으면 −1-1이 정답으로 인정된다.

힌트

예제 1에서 상황은 아래 그림과 같다. 광자는 Start로 표시된 격자 노드에서 시작하고, 광자 센서는 Finish로 표시된 격자 노드에 있다.

예제 2에서는 p=1p = 1이어도 44개의 광자만이 오른쪽 위 모서리에 도달한다.

예제2

  1. 예제 1

    입력
    4 4 2 5
    0 3
    1 1
    
    예상 출력
    0.953069489
    
  2. 예제 2

    입력
    3 4 1 10
    0 1
    
    예상 출력
    -1