#ode0177. 矩形绘制[E卷 200分]

矩形绘制[E卷 200分]

题目描述

实现一个简单的绘图模块,绘图模块仅支持矩形的绘制和擦除

  • 当新绘制的矩形与之前的图形重叠时,对图形取并集
  • 当新擦除的矩形与之前的图形重叠时,对图形取差集

给定一系列矩形的绘制和擦除操作,计算最终图形的面积。 下面给出示例1和示例2的图示 示例1:

两步绘制的矩形如左侧所示,取并集后得到的图形如右侧所示

示例2:

第一步绘制的矩形在左侧用实线表示,第二步擦除的矩形在左侧用虚线表示,取差集后得到图像如右侧所示。

输入描述

绘图模块采用二维坐标系,输入第一行位操作的数量 N,接下来的 N 行格式为:

  • d x1 y1 x2 y2,d表示进行绘制操作,(x1, y1)为矩形左上角坐标,(x2, y2)为矩形右下角坐标
  • e x1 y1 x2 y2,e表示进行擦除操作,(x1, y1)为矩形左上角坐标,(x2, y2)为矩形右下角坐标

坐标为整数,且数据范围为 [-100, 100],用例保证坐标有效

备注

用户配置是按次序依次配置到芯片中,如果用户配置序列种某个配置超过了芯片总容量,丢弃该配置,继续遍历用户后续配置。

输出描述

输出最终图形的面积

用例1

输入

2
d 0 2 2 0
d -1 1 1 -1

输出

7

用例2

输入

2
d 0 2 2 0
e -1 1 1 -1

输出

3