#P1540. 犁田机器人

犁田机器人

问题描述

Farmer John為了讓自己從無窮無盡的犁田工作中解放出來,於是買了個新機器人幫助他犁田。 這個機器人可以完成犁田的任務,可惜有一個小小的缺點:這個犁田機器人一次只能犁一個邊的 長度是整數的長方形的田地。

因為FJ的田地有樹和其他障礙物,所以FJ設定機器人去犁很多不同的長方形。這些長方形允許重 疊。他給機器人下了P個指令,每個指令包含一個要犁長方形的地。這片田地由長方形的左下角 和右上角坐標決定。他很好奇最後到底有多少個方格的地被犁過了。

一般來說,田地被分割為很多小方格。這些方格的邊和x軸或y軸平行。田地的寬度為X個方格, 高度為Y個方格 (1 <= X <= 240; 1 <= Y <= 240). FJ執行了I (1 <= I <= 200)個指 令,每個指令包含4個整數:Xll, Yll, Xur, Yur (1 <= Xll <= Xur; Xll <= Xur <= X; 1 <= Yll <= Yur; Yll <= Yur <= Y), 分別是要犁的長方形的左下角坐標和右上角坐 標。機器人會犁所有的橫坐標在Xll..Xur並且縱坐標在Yll..Yur範圍內的所有方格的地。可能 這個長方形會比你想像的多一行一列(就是說從第Xll列到第Xur列一共有Xur - Xll + 1列而 不是Xur - Xll列)。

考慮一個6方格寬4方格高的田地。FJ進行了2個操作(如下),田地就被犁成"*"和"#"了。雖然 一般被犁過的地看起來都是一樣的。但是標成"#"可以更清晰地看出最近一次被犁的長方形。

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

一共14個方格的地被犁過了。

題目名稱: rplow

輸入格式:

  • 第一行: 三個由空格隔開的整數: X, Y, I
  • 第二行到第I+1行:第i+1行有四個整數Xll, Yll, Xur, Yur,表示第i個指令。

樣例輸入 (文件 rplow.in):

6 4 2
1 1 2 4
1 3 5 4

輸入細節:

如同題目描述的例子。

輸出格式:

  • 第一行: 一個單獨的整數表示被犁過的方格數。

樣例輸出 (文件 rplow.out):

14