题目思路:统计被涂鸦的方格数,每个方格只能被统计一次。因为坐标面是从(0,0)到(100,100)数据不是很大,所以可以使用标记数组进行存储遍历。
C++满分代码:
#include<iostream>
using namespace std;
const int N=100;
int xy[N+10][N+10];
int main(){
int n,x1,y1,x2,y2,i,j,ans=0;
cin>>n;
while(n--){
cin>>x1>>y1>>x2>>y2;
for(i=x1;i<x2;i++)
for(j=y1;j<y2;j++)
xy[i][j]++;
}
for(i=0;i<N+1;i++)
for(j=0;j<N+1;j++)
if(xy[i][j]) ans++;
cout<<ans;
return 0;
}