问题 H: 运输

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:5 通过:3

题目描述

染染船长想要修复自己的船!
经过一番苦恼后,染染终于分配好了宝藏并保住了自己的性命和地位,准备修复自己的船。
由于船停靠的岸边十分荒芜,染染需要从距离船充分远处的森林里运送木材到船上,才能修补船。
然而,运送木材需要独轮车。从竖直截面上来看,独轮车的单轮并不是规则的圆形,而是简单凸多边形,这导致独轮车不能平滑的在平地上滚动,而需要铺设轨道来辅助近似滚动。
为了达成近似滚动的效果,染染希望在水平地面上铺设一条长 LL 米的轨道,让单轮在轨道上旋转移动,使得在单轮上存在一个点,这个点在单轮旋转前进过程中与水平地面的距离为恒定值,或者说这一点可以做到水平移动,它的轨迹与水平地面平行。
为了节约材料,染染当然还希望铺设的轨道从竖直截面上来看面积最小。
但由于轨道充分长,这个面积并不好表示,所以染染希望知道的是 LL 充分大的情况下面积与 LL 的比值。形式化的,假设在轨道长度为 LL 的情况下这个面积的最小值为 f(L)f(L),则要求:lim⁡L→+∞f(L)LL→+∞limLf(L)

输入格式

本题单个测试点内包含多组测试数据。

输入第一行一个正整数 T (1≤T≤20)T (1T20),表示数据组数。

每组数据第一行一个正整数 n (3≤n≤105)n (3n105),表示简单凸多边形单轮的顶点数。

接下来 nn 行,第 ii 行两个整数 xi,yi (−109≤xi,yi≤109)xi,yi (109xi,yi109),表示简单凸多边形单轮上一个点的横纵坐标,点按照逆时针顺序给出。

保证不存在两点重合。

保证不存在三点共线。

保证单个测试点内每组数据中 nn 的和不超过 106106

输出格式

对于每组数据输出一行一个 66 位小数表示答案四舍五入到小数点后 66 位的结果。

注意本题没有 spj,容易有较大精度误差问题,请尽量选择使用 long double 等高精度浮点数。

输入样例 复制

1
4
1 0
0 1
-1 0
0 -1

输出样例 复制

0.181690

数据范围与提示

答案为 12−1π21π1
figure