#include<iostream>
using namespace std;
int main(){
int n,a,b;//n为田地数量,a为整个田地横坐标上限,b为整个田地纵坐标上限
cin>>n>>a>>b;
int size=0;//初始化面积size等于0
int x1[n],y1[n],x2[n],y2[n];//定义数组x1为每块田地的横坐标下限,y1为每块田地的纵坐标下限,x2,y2分别为每块田地的横纵坐标上限
for(int i=0;i<n;i++){
cin>>x1[i]>>y1[i]>>x2[i]>>y2[i];
}
for(int i=0;i<n;i++){//遍历数组x1
if(x1[i]<0){//如果x1小于整个田地横坐标下限0
x1[i]=0;
}
else if(x1[i]>a){//如果x1大于整个田地横坐标上限a
x1[i]=a;
}
}
for(int i=0;i<n;i++){//遍历数组y1
if(y1[i]<0){//如果y1小于整个田地纵坐标下限0
y1[i]=0;
}
else if(y1[i]>b){//如果y1大于整个田地纵坐标上限b
y1[i]=b;
}
}
for(int i=0;i<n;i++){//遍历数组x2
if(x2[i]<0){//如果x2小于整个田地横坐标下限0
x2[i]=0;
}
else if(x2[i]>a){//如果x2大于整个田地横坐标上限a
x2[i]=a;
}
}
for(int i=0;i<n;i++){//遍历数组y2
if(y2[i]<0){//如果y2小于整个田地纵坐标下限0
y2[i]=0;
}
else if(y2[i]>b){//如果y2大于整个田地纵坐标上限b
y2[i]=b;
}
}
for(int i=0;i<n;i++){//遍历数组,每块田地面积相加等于总面积size
size+=(x2[i]-x1[i])*(y2[i]-y1[i]);
}
cout<<size<<endl;
return 0;
}
CCF/CSP 202303-1 田地丈量 C++
最新推荐文章于 2024-08-04 22:43:03 发布