다각형과 직선

볼록 다각형을 지나는 각 직선에 대해 가장 가까운 다각형 꼭짓점을 찾고 그 거리를 출력한다.

보통7기하이분 탐색아직 제출이 없습니다시간 제한0.5초메모리 제한128 MB

문제

구스타브는 기하 문제를 푸는 것을 좋아한다. 인터넷에서 기하 문제를 이것저것 살펴보다가 혼자서는 풀지 못한 문제를 하나 만났다. 구스타브를 도와 다음 문제를 풀어라.

볼록 다각형 하나와 그 다각형을 가로지르는 직선 여러 개가 주어진다. 각 직선마다 다각형의 꼭짓점 중에서 그 직선과 가장 가까운 꼭짓점을 찾고, 직선과 그 꼭짓점 사이의 거리를 구하면 된다.

직선이 다각형 내부와 공통점이 하나 이상 있으면 그 직선은 다각형을 가로지른다고 한다.

입력

첫째 줄에 다각형의 꼭짓점 개수 NN (3N1000003 \le N \le 100\,000)이 주어진다.

다음 NN개 줄에는 볼록 다각형의 꼭짓점 좌표가 한 줄에 하나씩 주어진다. 각 줄에는 절댓값이 10910^9보다 작은 정수 두 개가 있고, 꼭짓점은 시계 방향 순서다.

그다음 줄에 직선의 개수 MM (1M1000001 \le M \le 100\,000)이 주어진다.

다음 MM개 줄에는 직선 Ax+By+C=0Ax + By + C = 0을 나타내는 정수 AA, BB, CC가 주어진다. A,B,C109|A|, |B|, |C| \le 10^9이고, AABB가 동시에 00인 경우는 없다. 주어지는 직선은 모두 다각형을 가로지른다.

출력

MM개 줄을 출력한다. ii번째 줄에는 ii번째 직선과 다각형에서 가장 가까운 꼭짓점 사이의 거리를 소수점 아래 넷째 자리에서 반올림해 셋째 자리까지 출력한다.