#P10859. [HBCPC2024] Nana Likes Polygons

    ID: 10517 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>数学2024Special JudgeO2优化叉积XCPC湖北

[HBCPC2024] Nana Likes Polygons

Description

娜娜的电子宠物 MACARON 喜欢在房间里四处走动。娜娜想要创建一个有界区域,让 MACARON 可以在其中活动。

房间中的位置可以用二维坐标系表示,娜娜提供了一组顶点。娜娜喜欢多边形,现在想选择一个顶点的子集,形成一个凸多边形的端点。然而,娜娜还希望确保选择的区域不要太大。

因此,她将确定以给定顶点的子集为端点的凸多边形的最小可能面积。如果不存在这样的凸多边形,请输出 -1(不带引号)。

Input Format

第一行包含一个整数 T(1T10)T (1 \leq T \leq 10) —— 测试用例的数量。

对于每个测试用例,第一行包含一个整数 n(1n100)n (1 \leq n \leq 100) —— 给定顶点的数量。

接下来的 nn 行每行包含两个整数,第 ii 行包含 xi,yi(1000xi,yi1000)x_i, y_i (-1000 \leq x_i, y_i \leq 1000) —— 第 ii 个顶点的坐标。

Output Format

对于每个测试用例,如果不存在这样的凸多边形,请输出 -1(不带引号);否则输出一个实数,表示以这些给定顶点为端点的凸多边形的最小可能面积。

aabb 分别表示答案和你的输出。如果 bb 的绝对误差或相对误差不超过 10610^{-6},你的输出将被接受。形式上,如果且仅如果 abmax(a,b)106\dfrac{|a-b|}{\max(a,b)} \leq 10^{-6},你的输出才会被接受。

2
4
0 -1
-3 0
0 2
2 2
3
-1 -1
0 0
1 1
2
-1

Hint

对于第一个测试用例,选择 (2,2),(3,0)(2, 2), (-3, 0)(0,2)(0, 2) 作为一个凸多边形的端点,其面积为 2。可以证明这是该情况下的最小面积。

对于第二个测试用例,这三个顶点无法形成凸多边形。(由 ChatGPT 4o 翻译)