Description
小 A 进 ACM 队后,学长为了考察大家的数学基础,给大家出了一个简单的数学问题:在平面坐标系内有 n 个矩形,已知每个矩形的左下角顶点坐标和右上角顶点坐标,计算这 n 个矩形覆盖的平面面积。
由于矩形的个数比较多,小 A 很难在短时间内手工计算出结果,于是向你求助。
请你编程替小 A 解决这一简单问题。
Input
多组输入,每组:第一行:n,表示矩形的个数。
以下 n(0<=n<=100) 行,每行4个整数:x1,y1,x2,y2(0<= x1,y1,x2,y2<=100)。表示每个矩形的左下角顶点坐标是(x1,y1),右上角顶点的坐标(x2,y2)。
Output
一个数,n 个矩形的覆盖面积。Sample Input
3
2 1 5 4
4 3 7 5
4 6 9 9
Sample Output
29
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int n,x1,x2,y1,y2,i,j,sum;
int map[110][110];
while(~scanf("%d",&n))
{
memset(map,0,sizeof(map));
while(n--)
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
for(i=x1;i<x2;i++)
{
for(j=y1;j<y2;j++)
{
map[i][j]=1;
}
}
}
for(sum=i=0;i<110;i++)
{
for(j=0;j<110;j++)
{
if(map[i][j]==1)sum+=1;
}
}
printf("%d\n",sum);
}
return 0;
}