单测试点时限: 1.0 秒
内存限制: 512 MB
Mo的老师给了他两个矩形,让他求两个矩形的面积并。Mo很忙没时间解决这种小case,请你帮他解决。
输入
输入两行,每行四个整数$ x,y,x_1,y_1 $。$(x,y)$ 是矩形左下角,$(x1,y1)$ 是矩形的右上角. $(0≤x,y,x1,y1≤1000)$。
输出
输出一个整数表示二个矩形的面积并。
样例
input
output
Solve
矩形面积并问题,直接抄了个模板就过了2333333
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include<bits/stdc++.h> #define ll long long #define ms(a,b) memset(a,b,sizeof(a)) const int maxn=1e6+10; const int maxm=1e3+10; const int inf=(1<<30); const ll INF=(1LL*1<<60); using namespace std; int main() { ios::sync_with_stdio(false);cin.tie(0); int x[10]; int y[10]; for(int i=0;i<4;i++) cin>>x[i]>>y[i]; int s1=(x[1]-x[0])*(y[1]-y[0]); int s2=(x[3]-x[2])*(y[3]-y[2]); sort(x,x+2); sort(x+2,x+4); sort(y,y+2); sort(y+2,y+4); int flag; if(x[1]<=x[2]||x[0]>=x[3]||y[0]>=y[3]||y[1]<=y[2]) flag=0; else { sort(x,x+4); sort(y,y+4); flag=(x[2]-x[1])*(y[2]-y[1]); } cout<<s1+s2-flag<<endl; return 0; }
|