蓝桥杯 试题 基础练习 矩形面积交
题意:给两个矩阵的一对相对顶点,让你求这两个矩阵的相交的面积的大小。
思路:首先我们要考虑是否相交,如果存在不相交,那么因该输出0,否则的话就是找到相交矩阵的长跟宽,就是两个矩阵的四个横坐标跟纵坐标中间那两个相减的绝对值,但如果我们从小到大排列的话,就是第三大的坐标减去第二大的坐标。
详细见代码
#include<bits/stdc++.h>
using namespace std;
double x[4];
double y[4];
int main(){
for(int i=0;i<4;i++){
cin>>x[i]>>y[i];
}
sort(x,x+2);
sort(x+2,x+4);
sort(y,y+2);
sort(y+2,y+4);
if(x[1] <= x[2] || x[0]>=x[3] || y[0]>=y[3] || y[1]<=y[2])
printf("%.2lf\n",0);
else{
sort(x,x+4);
sort(y,y+4);
printf("%.2lf\n",(x[2]-x[1])*(y[2]-y[1]));
}
return 0;
}