#P16176. [Ncpc2020]Big Brother全视监控

[Ncpc2020]Big Brother全视监控

题目描述

你提出了一个新的绝妙想法:用自动人脸识别系统记录员工在办公室里工作的时间。只要在办公室里安装一些高级监控摄像头,就可以自动检测员工何时到达、离开或休息,从而减少大量人工行政工作。

好的监控摄像头很贵,所以最好只使用一个摄像头。它显然需要放在一个能看见整层办公室的位置,不能有墙挡住某个阴暗角落。

办公室的平面图可以看成一个简单多边形。你想知道是否存在一个位置,使得摄像头放在那里时能够看见整个多边形内部。如果存在,你还想知道所有可放置摄像头的位置组成区域的面积。

换句话说,请计算这个简单多边形的(kernel)的面积。若不存在可看见整个办公室的位置,则面积为 00

输入格式

第一行包含一个整数 nn,表示多边形的顶点数。

接下来 nn 行,每行包含两个整数 x,yx,y,表示一个顶点的坐标。顶点按顺时针顺序给出。

输出格式

输出一个实数,表示所有可以放置摄像头的位置组成区域的面积。

如果不存在合法位置,输出 00

答案允许相对误差不超过 10610^{-6},或绝对误差不超过 0.10.1

数据范围

3n5000003 \le n \le 500000 0x,y1070 \le x,y \le 10^7

输入保证给出的多边形是简单多边形。

样例 #1

输入

8
0 0
0 1
1 1
1 2
2 2
2 1
3 1
3 0

输出

1.0

样例 #2

输入

8
0 0
0 2
1 2
1 1
2 1
2 2
3 2
3 0

输出

0.0

样例 #3

输入

6
140 62
97 141
68 156
129 145
153 176
130 109

输出

48.80349500