#L3978. 「HNOI2005」纸片覆盖

    ID: 4663 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>数据结构线段树计算几何几何图形的交与并凸包坐标变换点定位搜索枚举

「HNOI2005」纸片覆盖

题目描述

喜欢几何的小付遇到了这样一个问题:一天他在一张白纸上画了 nn 条直线,然后剪了一张 mm 边形(简单多边形)的小纸片。他想把这张小纸片放在白纸上,使它盖住的线段的总长度最长,并且这张多边形纸片不能翻转或旋转,只能平移,如果直线的某一段刚好与多边形纸片的边重合,那么,这条线段算作是被覆盖。你能帮他解决这个问题吗?

输入格式

第一行为两个数 n,mn, m,分别表示直线的数目和多边形的边数。

接下来的 nn 行分别表示各条直线,每行有 44 个实数 x1,y1,x2,y2x_1, y_1, x_2, y_2,表示一条经过 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2) 的直线。

接下来的 mm 行按顺时针或逆时针的顺序输入多边形的各个顶点,每行有 22 个实数 x,yx, y,表示一个顶点的坐标。输入的多边形保证不自交,且连续的 33 点不共线。

输出格式

一个数 LL,表示输入的多边形能盖住的最大的线段总长度,精确到小数点后 33 位。

样例

输入

3 5
6 1 2 5
1 2 8 4
4 -1 5 6
1 0
5 -1
4 2
7 3
4 4

输出

11.933

数据范围与提示

1n,m101 \le n, m \le 10

所有输入的实数的绝对值 104\le 10^4,且不会超过 22 位小数。