CSP题解|202303-1 田地丈量|100分
#include <bits/stdc++.h> using namespace std; int main(){ int fieldNum,xMax,yMax; cin>>fieldNum>>xMax>>yMax; long long sum=0; for(int i=0;i<fieldNum;i++){ long long a,b,c,d;//分别是左下坐标(a,b)和右上坐标(c,d) cin>>a>>b>>c>>d; //截断 if(a<0)a=0; if(a>xMax)a=xMax; if(b<0)b=0; if(b>yMax)b=yMax; if(c<0)c=0; if(c>xMax)c=xMax; if(d<0)d=0; if(d>yMax)d=yMax; sum+=(c-a)*(d-b); } cout<<sum<<endl; }
截断法
——————————————————