Atlantis
Problem Description
已知Atlantis的地图由许多矩形构成,求它们的面积并。
Input
题目有多组数据,每组数据的开头有一个整数n(1<=n<=100),表示地图数,接下来n行,每行4个小数 x1;y1;x2;y2 (0<=x1 数据以0结束
Output
对于每组数据,你需要输出一行 “Test case #k”,k表示第k组数据(从1开始).第二行为“Total explored area: a”,a为面积并(保留2位小数),
每组数据后,请输出一个回车。
Sample Input
2
10 10 20 20
15 15 25 25.5
0
Sample Output
Test case #1
Total explored area: 180.00
矩形面积并入门题,
首先把直线拆成上边和下边,按高度排序,
横坐标离散化,建立线段树。 www.2cto.com
cnt[]表示某条线段被覆盖的次数,sum[]表示一条线段被覆盖的长度
我们在计算cnt[]时,没修改1个cnt[],就用pushup把sum[]更新,得到程序1:
[cpp]
#include
#include
#include
#include
#include
#include
#include
#include
#include