凸包2
时间限制:10s 空间限制:64MB
题目描述
A和B玩一个游戏:A出一个凸多边形,B会用一条直线将其分成两部分.如果它们的 面积差不超过一个数Delta,B会保留这个凸多边形,否则B会去除面积较小的一部分每次游戏前B会给出N条直线,问A应该用怎么样顺序用这N条直线割凸多边形,使得剩下的图形面积最大.注意如果直线和凸多边形不相交,则B会保留这个凸多边形.
输入格式
第一行输入一个正整数 k,表示初始时多边形的顶点数。 以下k 行按逆时针顺序给出多边形的顶点坐标Xi,Yi。 第 k+2行输入一个正整数n,表示直线的数目。 以下n 行,每行4 个整数Xi1, Yi1, Xi2, Yi2,表示直线上的不重合两点的坐标。 最后一行输入一个小于 10000 的非负实数 delta。 输入数据保证所有给出的坐标值都是绝对值不超过 500的整数
输出格式
一个实数,表示最大可能得到的面积,保留5 位小数。
样例输入
4 -100 -100 100 -100 100 100 -100 100 1 -1 0 1 0 0
样例输出
40000.00000 精度取1e-8足够 每组输入数据中的点保证无3 点共线
提示
对于 50%的数据 n<=8 对于 100%的数据 n<=9,k<=20
题目来源
没有写明来源