U715783
JZ 的矢量放大 (JZ's Vector Enlargement)
省选/NOI−
题目背景
承接《JX 的禁言术》。 当 ZS 因为疯狂大喊“99”而被 JX 用“禁言术”封印后,整个班级终于迎来了久违的宁静。 JZ 同学戴上了降噪耳机,终于可以专心致志地进行他的爱好了——在电脑上临摹极其复杂的网页图标。 JZ 发现有些图标放大后会变成模糊的马赛克(位图),而有些图标无论怎么放大都非常清晰。于是,他开始沉迷于用矢量图形来绘制图标。
题目描述
为了绘制一个完美的网页图标,JZ 在一块无限大的虚拟画布上画下了 个矩形。每个矩形都代表了图标的一个基础部件,且每个矩形的边都与画布的坐标轴平行。 这些矩形之间可能会有大量的交叠、嵌套,甚至完全覆盖。
由于 JZ 在作画时使用了同一种纯色颜料,现在他想要将这个图标打印出来并挂在墙上。为了提前购买足够多的颜料,他需要知道整个图标(即这 个矩形覆盖的所有区域)的实际染色总面积。 注意,无论一个区域被多少个矩形重叠覆盖,它都只需要被染色一次。
请你编写程序,帮 JZ 计算出这 个矩形在画布上覆盖的并集面积。
输入格式
第一行包含一个整数 ,表示 JZ 画下的矩形总数。 接下来 行,每行包含四个整数 ,分别表示一个矩形的左下角和右上角的坐标。 保证 且 。
输出格式
输出一行,包含一个整数,表示这 个矩形覆盖的总染色面积。
输入输出样例
输入样例 #1
2
1 1 3 3
2 2 4 4
输出样例 #1
7
输入样例 #2
3
0 0 10 10
2 2 4 4
6 6 12 12
输出样例 #2
128
说明/提示
【样例解释 1】
第一个矩形的面积为 。 第二个矩形的面积为 。 它们重叠的区域是一个左下角为 ,右上角为 的正方形,面积为 。 因此总覆盖面积为 。
数据规模与约定
- 对于 的数据,,。
- 对于 的数据,,。