P2956 [USACO09OCT] The Robot Plow G
题目描述
农夫约翰购买了一台新的自动耕地机器人,以将自己从日复一日犁地的繁重劳动中解脱出来。这台机器人确实能完成耕地任务,但有一个小缺点:它只能犁出各边长度均为整数的完美矩形地块。
由于约翰的田地中分布着树木和其他障碍物,他需要设定机器人犁耕多个不同的矩形区域,这些区域可能会有重叠。他很好奇,在按照各种耕地指令(每个指令通过给出矩形的左下角和右上角 x、y 坐标来描述)编程后,田地里实际被犁过的方格数量究竟有多少。
和往常一样,田地被划分为若干方格,这些方格的边与 x 轴和 y 轴平行。整块田地的宽度为 $X$ 个方格,高度为 $Y$ 个方格 $1\le X,Y \le 240)$。共有 $I$ 条耕地指令 $(1\le I \le 200)$,每条指令包含四个整数:$Xll、Yll、Xur \text{ 和 } Yur\text{ (}1 \le Xll \le Xur \le X;1 \le Yll \le Yur \le Y)$,分别表示待犁矩形的左下角和右上角坐标。机器人会犁耕区间 $(Xll \dots Xur, Yll \dots Yur)$ 内的所有田地方格——根据不同的理解方式,这个区间可能比初始设想的多一行或一列(当然,具体取决于你如何理解)。
以一块宽 6 格、高 4 格的田地为例。当约翰发出两条耕地指令(如下所示)时,田地的犁耕情况如 `*` 和 `#` 所示(通常犁过的田地看起来相同,这里用 `#` 表示最近犁过的区域):
```
...... **.... #####.
...... (1,1)(2,4) **.... (1,3)(5,4) #####.
...... **.... **....
...... **.... **....
```
最终共有 14 个方格被犁过。
得分:25 分
输入格式
共 $I+1$ 行
第一行,三个空格分隔的整数:$X、Y\text{ 和 }I$
第二行到第 $I+1$ 行:第 $i+1$ 行包含第 $i$ 条耕地指令,由四个整数描述:$Xll、Yll、Xur \text{ 和 } Yur$
输出格式
一行,一个整数,表示被犁过的方格总数
说明/提示
正如任务示例中所示