3947: 蓝桥杯C++省赛真题(13):面积
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:1
Solved:1
Description
题目描述:
小蓝要给墙面上的N个矩形区域粉刷涂料,给出每个矩形左下角和右上角的两个坐标(x1,y1,x2,y2)。请帮助小蓝计算下粉刷涂料的面积是多少,如果矩形之间有重叠部分只计算一次.
例如:有2个矩形,2个矩形左下角和右上角的两个坐标分别为:(2,2,9,5)、(6,1,12,9),其粉刷涂料的面积是60。
Input
第一行输入一个整数N(2 <= N<= 20),表示有N个矩形
接下来的N行每行包括四个正整数x1, y1,x2,y2( 0 <= x1, y1, x2, y2 <= 100, 且 x1 ≠ x2, y1 ≠ y2),x1和y1表示矩形左下角的坐标,x2和y2表示矩形右上角的坐标,四个正整数之间一个空格隔开。
Output
输出一个整数,表示N个矩形需要粉刷的面积,重叠部分只计算一次
Sample Input Copy
2
2 2 9 5
6 1 12 9
Sample Output Copy
60
HINT
解题思路:
该题可以使用二维数组作为标记数组,先遍历每个矩形的坐标,将其对应的二维数组区域标记为1。
最后遍历标记数组,累加标记为1的区域面积,即为所求的涂料面积。