#P17528. PM7336街灯下的树影

PM7336街灯下的树影

题目描述

在水平地面附近有一盏街灯和一棵树。树被建模为一个与坐标轴平行的、允许退化的长方体,街灯被视为一个点光源。采用三维坐标系 (x,y,z)(x,y,z),其中 yy 表示离地面的高度,因此地面是平面 y=0y=0

树由一对对角顶点给出。光从街灯位置向所有方向发射,被树挡住后在地面上形成阴影。

请计算地面阴影的面积。如果阴影面积无限大,输出 -1;如果阴影虽然可能无限长但面积为 00,则输出 0

输入格式

本题数据格式如下:

第一行一个整数 6

第二行 66 个整数 x1,y1,z1,x2,y2,z2x_1,y_1,z_1,x_2,y_2,z_2,表示树的两个对角顶点。

第三行一个整数 3

第四行 33 个整数 xL,yL,zLx_L,y_L,z_L,表示街灯位置。

输出格式

输出阴影面积。若阴影面积无限,输出 -1

答案与标准答案的绝对误差或相对误差不超过 10910^{-9} 即视为正确。

数据范围

  • 两个数组中的所有坐标均在 111010 之间;
  • 光源不会位于长方体的边界上;
  • 长方体允许在一个或多个维度退化。

样例 1

6
1 1 1 10 1 1
3
5 5 5
0.0

样例 2

6
1 3 1 10 1 1
3
2 2 2
-1.0

样例 3

6
1 1 1 2 2 2
3
3 3 3
15.75