POJ PKU 2826 An Easy Problem?! 解题报告

题目链接: http://acm.pku.edu.cn/JudgeOnline/problem?id=2826

大致意思是给你两条线段,问组成的开口向上的V形区域能盛多少雨水。雨水是垂直落下的。

显然线段不相交,或者平行,重合,或者有一条斜率为0时结果为0.00

然后还有一种情况结果为0的,就是高的那条线段被低的挡住了。

判断覆盖可以从最高点较低的线段的最高点引一条向y轴正向的线段,线段最高点坐标大于10000(题目说的坐标绝对值不大于10000),然后判断线段是否和原来两条线段都相交,是则输出0.00

最后还要注意精度,我是结果加上eps才过的,面积计算使用的是海伦公式。

提供几组数据

Input:

0 0 100 100
0 0 100 99

0 0 100 100
0 0 101 99

0 0 1 1
0 0 2 2

0 0 -100 100
0 0 100 99

0 0 1 1
1 1 2 2

Output:

代码如下:

Last updated

Was this helpful?