만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

볼록 껍질

시간 제한1.5초메모리 제한256 MB

요약
3차원 점 n개의 볼록 껍질을 구하고, 각 질의의 평면으로 잘린 단면의 넓이를 구합니다.
난이도

보통10점 중 7점

유형
기하, 구현
정답자
아직 제출이 없습니다

문제

시간 제한: 1500 ms. 메모리 제한: 256 MB.

3차원 공간에 점 nn개가 있다. 이 nn개 점의 볼록 껍질을 생각하자.

질의 qq개가 주어진다. 각 질의는 3차원 공간의 평면 하나를 정한다. 주어진 각 평면으로 볼록 껍질을 자른 단면의 넓이를 구하라.

입력

첫 줄에 점의 개수 nn과 질의의 개수 qq가 정수로 주어진다 (1≤n,q≤10001 \le n, q \le 1000).

이어지는 nn개의 줄에는 각각 점의 좌표 xx, yy, zz가 정수로 주어진다.

이어지는 qq개의 줄에는 평면 ax+by+cz+d=0ax + by + cz + d = 0을 정하는 정수 aa, bb, cc, dd가 주어진다.

xx, yy, zz, aa, bb, cc, dd의 절댓값은 모두 20002000을 넘지 않는다고 보장된다.

출력

각 질의마다 단면의 넓이를 출력한다. 절대 오차는 10−310^{-3} 이하여야 한다.

예제1

  1. 예제 1

    입력
    6 1
    0 0 1
    1 0 1
    0 1 1
    0 0 -1
    1 0 -1
    0 1 -1
    0 0 1 0
    예상 출력
    0.500