#P1039. Pipe

    ID: 40 传统题 1000ms 256MiB 尝试: 2 已通过: 2 难度: 10 上传者: 标签>搜索枚举计算几何几何知识Central Europe 1995

Pipe

描述

GX 光管道公司开始为新的跨星系光管道准备弯曲管道。在新管道形状的设计阶段,该公司遇到了确定光在每个管道组件内能够传播多远的问题。请注意,制造管道的材料既不透明,也不反光。

每个管道组件由许多紧密连接的直管道组成。为了编程目的,该公司将每个组件描述为一系列点 $[x_1; y_1], [x_2; y_2], \ldots, [x_n; y_n]$,其中 $x_1 < x_2 < \ldots < x_n$。这些是管道轮廓的上点。管道轮廓的下点由 $y$ 坐标减 1 的点组成。对于每个上点 $[x_i; y_i]$,都有一个对应的下点 $[x_i; y_i - 1]$(见上面的图片)。该公司希望找到对于每个管道组件,光能够到达的具有最大 $x$ 坐标的点。光是由端点为 $[x_1; y_1 - 1]$ 和 $[x_1; y_1]$ 的线段光源发出的(端点也会发光)。假设光在管道的弯曲点处不会发生弯曲,并且弯曲点不会阻挡光束。

输入

输入文件包含几个块,每个块描述一个管道组件。每个块以单独一行上的弯曲点数量 $2 \leq n \leq 20$ 开始。接下来的 $n$ 行中每行都包含一对由空格分隔的实数值 $x_i, y_i$。最后一个块用 $n = 0$ 表示。

输出

输出文件包含与输入文件中的块相对应的行。对于输入文件中的每个块,在输出文件中有一行。每一行要么包含一个精确到小数点后两位的实数值,要么包含消息 “Through all the pipe.”。该实数值是对于相应的管道组件,光从光源能够到达的期望的具有最大 $x$ 坐标的点。如果该值等于 $x_n$,那么在输出文件中会出现消息 “Through all the pipe.”。

4
0 1
2 2
4 1
6 4
6
0 1
2 -0.6
5 -4.45
7 -5.57
12 -10.8
17 -16.55
0
4.67
Through all the pipe.

来源

1995 年中欧