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

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

대피소

시간 제한8초메모리 제한512 MB

요약
볼록 다각형 마을과 내부의 N개 대피소가 주어질 때, 마을 안에서 균일하게 무작위로 잡은 점에서 가장 가까운 대피소까지 거리의 제곱의 기댓값을 구한다.
난이도

어려움10점 중 8점

유형
기하, 분할 정복, 수학, 구현
정답자
아직 제출이 없습니다

문제

Taro는 대피소 N개가 있는 마을에 산다. 마을의 모양은 볼록 다각형이다.

그는 긴급 상황이 발생하면 가장 가까운 대피소로 대피한다. 현재 위치가 주어졌을 때 대피 비용은 가장 가까운 대피소까지의 거리의 제곱으로 정의된다. 긴급 상황은 예측할 수 없이 발생하므로 Taro는 마을 내부의 임의의 점에 같은 확률로 있을 수 있다. 그의 대피 비용의 기댓값을 구하여라.

입력

첫 번째 줄에는 마을의 꼭짓점 수 M과 대피소의 수 N이 주어진다. (3 ≤ M ≤ 100, 1 ≤ N ≤ 100)

다음 M개의 줄에는 마을 꼭짓점의 좌표가 반시계 방향으로 주어진다. i번째 줄에는 두 정수 xi와 yi가 주어지며, 이는 i번째 꼭짓점의 좌표이다. (−1000 ≤ xi, yi ≤ 1000) 다각형은 항상 단순하다. 즉, 변들은 끝점을 제외하고는 서로 닿거나 교차하지 않는다.

그다음 N개의 줄에는 대피소의 좌표가 주어진다. i번째 줄에는 두 정수 xi와 yi가 주어지며, 이는 i번째 대피소의 좌표이다. 모든 대피소는 마을의 엄격한 내부에 있으며, 두 대피소의 좌표가 같은 경우는 없다.

출력

대피 비용의 기댓값을 한 줄에 출력한다. 절대 오차가 10−4 이하이면 정답으로 인정된다.

예제3

  1. 예제 1

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

    입력
    5 2
    2 0
    2 2
    0 2
    -2 0
    0 -2
    0 0
    1 1
    
    예상 출력
    1.0000000000
    
  3. 예제 3

    입력
    4 3
    0 0
    3 0
    3 3
    0 3
    1 1
    1 2
    2 2
    
    예상 출력
    0.7500000000