QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 64 MB 總分: 100

#2050. 交叉棱镜

统计

Bocchan 教授是一位数学家,也是一位雕塑家。他喜欢用数学来创作雕塑。

他的雕塑风格非常独特。他使用两个完全相同的棱柱,将它们以直角交叉,从而制作出一个作为新作品的、由这两个棱柱相交而成的多面体。由于他在完成雕塑后需要进行涂漆,因此他需要知道该多面体的表面积,以便估算所需的颜料量。

例如,让我们考虑图 14 中的两个相同棱柱。它们的横截面定义如图 15 所示。这两个棱柱以直角放置,它们的交集即为图 16 中所示的多面体。其表面积的近似值为 194.8255。

图 14:两个以直角放置的相同棱柱

图 15:横截面轮廓

图 16:交集

给定这两个相同棱柱的横截面形状,你的任务是计算他的雕塑的表面积。

输入格式

输入包含多个数据集,最后以一行仅包含一个零的数据结束。每个数据集的第一行包含一个整数 $n$,表示后续的行数,接下来的每一行包含两个整数 $a_i$ 和 $b_i$ ($i = 1, \cdots, n$)。

由给定点 $(a_1, b_1), (a_2, b_2), \cdots, (a_n, b_n), (a_{n+1}, b_{n+1}) (= (a_1, b_1))$ 组成的闭合路径表示棱柱的横截面轮廓。该闭合路径是简单的,即它不自交也不自触。从 $(a_i, b_i)$ 到 $(a_{i+1}, b_{i+1})$ 的线段的右侧为截面的内部。

你可以假设 $3 \le n \le 4$,$0 \le a_i \le 10$ 且 $0 \le b_i \le 10$ ($i = 1, \cdots, n$)。

其中一个棱柱沿 $x$ 轴放置,使得其在 $x = \xi$ 处的横截面轮廓由点 $(x_i, y_i, z_i) = (\xi, a_i, b_i)$ ($0 \le \xi \le 10, i = 1, \cdots, n$) 表示。另一个棱柱沿 $y$ 轴放置,使得其在 $y = \eta$ 处的横截面轮廓由点 $(x_i, y_i, z_i) = (a_i, \eta, b_i)$ ($0 \le \eta \le 10, i = 1, \cdots, n$) 表示。

输出格式

输出应包含一系列行,每行包含一个十进制小数。每个数字应表示对应数据集所定义的多面体的表面积的近似值。该值允许的误差不超过 0.0001。小数点后可以打印任意位数的数字。

样例

输入 1

4
5 0
0 10
7 5
10 5
4
7 5
10 5
5 0
0 10
4
0 10
10 10
10 0
0 0
3
0 0
0 10
10 0
4
0 10
10 5
0 0
9 5
4
5 0
0 10
5 5
10 10
4
0 5
5 10
10 5
5 0
4
7 1
4 1
0 1
9 5
0

输出 1

194.8255
194.8255
600.0000
341.4214
42.9519
182.5141
282.8427
149.2470

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.