성 밖에 묶인 말
시간 제한0.1초메모리 제한16 MB
볼록 다각형과 바깥의 한 점, 그리고 밧줄 길이 L이 주어질 때, 밧줄이 다각형 꼭짓점에 걸려 휘어지며 닿는 영역의 넓이를 구한다. 양방향 영역은 겹치지 않는다.
문제
성벽은 꼭짓점이 개인 볼록 다각형이다. 성 밖 정수 좌표 에는 나무가 한 그루 서 있고, 기사는 길이가 인 밧줄로 말을 그 나무에 묶어 두었다.
말은 성 안으로 들어가지 못하고 밧줄도 성벽을 통과하지 못한다. 밧줄이 성벽 모서리에 걸리면 그 꼭짓점에서 꺾이므로, 밧줄이 닿는 동안에는 말이 성벽을 따라 반대편으로 돌아갈 수 있다.
성 밖의 점 에 말이 닿는 조건은 이렇다. 나무에서 까지 성 내부를 지나지 않고 가는 경로 중 가장 짧은 것의 길이가 이하이다.
말이 닿을 수 있는 영역의 넓이를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 나무의 좌표 , 와 밧줄의 길이 이 공백으로 구분되어 주어진다. 둘째 줄에 다각형의 꼭짓점 개수 이 주어진다. 이어지는 개의 줄에는 꼭짓점의 좌표 , 가 시계 방향 순서로 한 줄에 하나씩 주어진다.
출력
첫째 줄에 말이 닿을 수 있는 영역의 넓이를 소수점 아래 다섯째 자리까지 반올림해 출력한다. 넓이가 이면 3.14159를 출력한다.
제한
- 모든 좌표는 정수이다.
- 다각형은 볼록하고 세 꼭짓점이 한 직선 위에 놓이는 경우는 없다.
- 나무는 성 바깥에 있다. 성 안에 있거나 성벽 위에 있는 경우는 없다.
- 개의 꼭짓점과 나무를 함께 감싸는 볼록 껍질의 둘레를 라고 하면 이다. 따라서 성을 왼쪽으로 돌아 닿는 영역과 오른쪽으로 돌아 닿는 영역이 겹치는 일은 없다.