#SummerP2005. 面积计算

面积计算

题目描述

你正在参加国际计算几何大赛(International Calculating Polygon Contest, ICPC),给定圆 RR 的方程 x2+y2=r2x^2+y^2=r^2,与两条在圆内相交的直线与圆分别交于 A,B,C,DA,B,C,D 四个点,直线交点为 MM

定义在坐标轴 xOyxOy 上的四个点的顺序按照逆时针方向分布(按照极角 [1] 排布)。现在给定两条的直线方程 ax+by+c=0ax+by+c=0 与参数 rr,求两个三角形 AMB\triangle AMBCMD\triangle CMD 的面积和。

如果你给出的浮点数答案 tt 与裁判答案 ss 的精度满足 ts106\left| t-s \right|\leqslant 10^{-6},将会被视为正确答案。

如果你需要详细的解释,请阅读样例后的注释。

输入描述

第一行一个整数 rr 表示上述方程 x2+y2=r2x^2+y^2=r^2 的参数,满足 1r1×1041\leqslant r \leqslant 1\times10^4

第二行包含三个整数 a1,b1,c1a_1,b_1,c_1,表示 1:a1x+b1y+c1=0\ell_1:a_1x+b_1y+c_1=0 直线 1\ell_1 的方程。

第三行包含三个整数 a2,b2,c2a_2,b_2,c_2,表示 2:a2x+b2y+c2=0\ell_2:a_2x+b_2y+c_2=0 直线 2\ell_2 的方程。

所有 a1,a2,b1,b2,c1,c2a_1,a_2,b_1,b_2,c_1,c_2 均满足:$-1\times 10^8\leqslant a_1,a_2,b_1,b_2,c_1,c_2 \leqslant 1\times10^8$,保证给定的 1,2\ell_1,\ell_2 一定不重合。


输出描述

输出三角形面积和 tt,如果你给出的浮点数答案 tt 与裁判答案 ss 的精度满足 ts106\left| t-s \right|\leqslant 10^{-6},将会被视为正确答案。

如果交点不在圆内,请输出 1-1

样例

3
1 1 2
1 7 1
6.90372458096622
3
2 -1 1
1 7 1
8.28669565212410
2
2 -1 1
2 3 -14
-1

注释

对于第一组样例,其满足如下图所示:

其中 $\ell_{AC}=\ell_1: x+y+2=0,\ell_{BD}=\ell_2: x+7y+1=0$,交点为 MM,第一组样例的标准输出即 SAMB+SCMDS_{\triangle AMB}+S_{\triangle CMD}

由于只有标准库,使用 Python smypy 等第三方模块则会引发 Compile-Error。


  1. 在平面中,极角 θ\theta 是从 xx 轴逆时针旋转的角度 ↩︎