Symmetric Boundary
시간 제한12초메모리 제한1024 MB
볼록 다각형이 주어질 때, 모든 꼭짓점을 경계에 포함하는 볼록한 점대칭 영역의 최소 넓이를 구하거나, 존재하지 않으면 -1을 출력한다.
문제
Symmetrical figures are beautiful—and they are the subject of this task. A region in a 2D plane is convex if, for every pair of points and in the region, the segment connecting and is entirely included in the region. Also, a region in a 2D plane is point-symmetric if, when you rotate the region by degrees around a certain point, the rotated region exactly matches the original region.
You are given a convex polygon in a 2D plane with vertices, numbered from to in counterclockwise order. Vertex has coordinates . No three vertices are collinear. Determine whether there exists a convex, pointsymmetric region containing all of the vertices on its boundary. If one or more such regions exist, compute the minimum area among all of them.
입력
The first line of input contains one integer (). Each of the next lines contains two integers. The -th line contains and ().
It is guaranteed that the given polygon is convex, its vertices are given in counterclockwise order, and no three of its vertices are collinear.
출력
If one or more such regions exist, output the minimum area among all of them. The relative error of the output must be within .
If such a region does not exist, output -1 instead.
힌트
Figure I.1 illustrates the vertices in the sample input as black dots. For sample inputs #1 and #3, the shaded regions represent the regions with the minimum possible area.

Figure I.1: Illustrations of the sample inputs (from left to right).