#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