#P2722. Angle and Squares

Angle and Squares

描述

这是一个几何问题。你有一个角和一些位于平面直角坐标系第一象限的正方形。该角的顶点固定在原点 OO,且角的两个边分别由输入给定。正方形的边长也由输入指定,并且正方形可以沿水平和垂直方向平移。现在你的任务是利用这些正方形和角的两条边围成一个最大的区域,该区域不包括正方形所占的面积(见图 1)。你需要注意,正方形的边必须与坐标轴平行。

输入

测试用例有若干个。每个测试用例第一行给出一个正整数 NN (0<N<100<N<10),表示正方形的数目。下一行包含四个十进制数:xa, ya, xb, ybx_a,\ y_a,\ x_b,\ y_b,分别表示点 A(xa, ya)A(x_a,\ y_a) 和点 B(xb, yb)B(x_b,\ y_b),由射线 OAOAOBOB 构成角。接下来的 NN 行中每行包含一个十进制数,表示某个正方形的边长。上述所有的十进制数都在区间 [1, 20][1,\ 20] 内。一个测试用例当 N=0N=0 时结束,并且不应处理此测试用例。

输出

对于每个测试用例,输出一行一个十进制数,表示由角的两条边和正方形围成的最大区域面积,该面积不包含正方形的面积。输出的数值保留三位小数。

1
2.000 3.000 3.000 2.000
1.000
0
2.000

题目来源
Beijing 2005