CF2041L.Building Castle
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A-Ju 拥有一座美丽的城堡,她经常在其中生活。然而,长时间住在城堡让她感到无聊,所以她想将城堡重建为更漂亮的形状。
在二维平面上,我们用一个凸多边形来表示 A-Ju 的城堡。现在,她希望将城堡改造成一个具有点对称性质的凸多边形。所谓的点对称多边形,指的是存在某个中心点 c,使得多边形中任意一个点 p,其关于 c 的对称点 p′ 也在这个多边形内。
虽然设计一个点对称凸多边形并不难,但重建的花费却是非常大的。根据估算,重建的成本与原城堡和新形状之间的对称差集的面积有关。请参见下面的图示:

在上面的例子中,A-Ju 的城堡是由点 (3,7)−(2,1)−(6,3) 组成的凸多边形。经过重建,新的城堡变成由点 (3,7)−(37,3)−(313,31)−(5,313) 构成的多边形。这两个形状之间的对称差集的面积为 311。这个面积包含了新增的区域(绿色网格表示)以及被削减的区域(红色线条表示)。
请设计一个程序,帮助 A-Ju 规划新的城堡形状,使得原城堡与新城堡之间的对称差集面积达到最小。你只需要输出这个最小面积值,因为 A-Ju 需要先估算一下潜在的改造成本。
输入格式
第一行输入一个整数 n,表示组成 A-Ju 城堡的多边形的顶点数。
接下来有 n 行,每行包含两个整数 xi,yi,表示第 i 个顶点的坐标。顶点按逆时针顺序给出。
- 3≤n≤500
- ∣xi∣,∣yi∣≤104
- 顶点按逆时针顺序给出,并保证形成一个没有三点共线的凸多边形。
输出格式
输出一个实数,该数表示原城堡与新城堡之间对称差集的最小面积。
你的答案将被接受,如果其绝对误差或相对误差不超过 10−4。具体来说,设你的答案为 a,标准答案为 b,则你的回答被视为正确,当 max(1,∣b∣)∣a−b∣≤10−4。
本翻译由 AI 自动生成
输入输出样例
输入#1
3 2 1 6 3 3 7
输出#1
3.666666666667
输入#2
4 0 0 5 0 5 5 0 5
输出#2
0.000000000000
输入解题思路,AI测评打分。不知道怎么写?