#P2956. [USACO09OCT] The Robot Plow G

[USACO09OCT] The Robot Plow G

题目描述

农夫约翰购买了一台新的自动耕地机器人,以将自己从日复一日犁地的繁重劳动中解脱出来。这台机器人确实能完成耕地任务,但有一个小缺点:它只能犁出各边长度均为整数的完美矩形地块。

由于约翰的田地中分布着树木和其他障碍物,他需要设定机器人犁耕多个不同的矩形区域,这些区域可能会有重叠。他很好奇,在按照各种耕地指令(每个指令通过给出矩形的左下角和右上角 x、y 坐标来描述)编程后,田地里实际被犁过的方格数量究竟有多少。

和往常一样,田地被划分为若干方格,这些方格的边与 x 轴和 y 轴平行。整块田地的宽度为 XX 个方格,高度为 YY 个方格 1X,Y240)1\le X,Y \le 240)。共有 II 条耕地指令 (1I200)(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)$,分别表示待犁矩形的左下角和右上角坐标。机器人会犁耕区间 (XllXur,YllYur)(Xll \dots Xur, Yll \dots Yur) 内的所有田地方格——根据不同的理解方式,这个区间可能比初始设想的多一行或一列(当然,具体取决于你如何理解)。

以一块宽 6 格、高 4 格的田地为例。当约翰发出两条耕地指令(如下所示)时,田地的犁耕情况如 *# 所示(通常犁过的田地看起来相同,这里用 # 表示最近犁过的区域):

......             **....             #####. 
......  (1,1)(2,4) **....  (1,3)(5,4) #####. 
......             **....             **.... 
......             **....             **....

最终共有 14 个方格被犁过。

得分:25 分

输入格式

I+1I+1

第一行,三个空格分隔的整数:XY 和 IX、Y\text{ 和 }I

第二行到第 I+1I+1 行:第 i+1i+1 行包含第 ii 条耕地指令,由四个整数描述:XllYllXur 和 YurXll、Yll、Xur \text{ 和 } Yur

输出格式

一行,一个整数,表示被犁过的方格总数

6 4 2 
1 1 2 4 
1 3 5 4 

14 

提示

正如任务示例中所示