文件名称:求两个椭圆相交的面积问题
文件大小:699B
文件格式:CPP
更新时间:2013-10-06 10:54:32
语言C++
描述 最近天文学家发现了一对奇特的卫星,分别命名为A和B。我们知道,卫星通常以椭圆轨道移动,A和B也一样。但是他们的轨迹非常特殊: (1)他们的轨迹在同一平面,具有相同的圆心。 (2)连接两个焦点组成的部分互相垂直。 如果我们将中心标为O,A的焦点为F1和F2,我们就可以建立笛卡尔坐标,O点为圆心,通过F1和F2的为X轴。 下面是一个例子: 天文学家想了解卫星更多东西,他们决定计算其相交面积。不幸的是,计算相交的面积有点难,且他们不会计算,他们求助于天才程序员的你帮忙。现在你的任务是:给定两个满足上述要求的椭圆,计算相交面积。 输入 输入包括多个测试用例。第一行为测试用例个数n(n<=100)。 在每一个测试用例包含两行,第一行A的描述轨迹,另一行描述B的轨迹,每一个描述包含两个整数a,b(a,b<=100)表示椭圆方程X2/a2+Y2/b2=1,并保证A的焦点在X轴上,B的焦点在Y轴上。 输出 对每个测试用例,用一行输出相交面积,用实型数表示,要求精确到小数点后三位。 样例输入 12 11 2 样例输出 3.709