矩形面积交-----蓝桥
程序员文章站
2022-06-12 12:46:46
...
AC代码:
#include <stdlib.h>
#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
int main()
{
double x1,y1,x2,y2,x3,y3,x4,y4,a[4],b[4];
cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4;
x1=min(x1,x2);
y1=min(y1,y2);
x2=max(x1,x2);
y2=max(y1,y2);
x3=min(x3,x4);
y3=min(y3,y4);
x4=max(x3,x4);
y4=max(y3,y4);//(换算为左下角和右上角坐标)
//一个矩形(横坐标偏小)的最大横坐标值<=另一个矩形(横坐标偏大)的最小横坐标值
if(x2<=x3||y2<=y3||x4<=x1||y4<=y1)
cout<<"0.00"<<endl;
else
{
a[0]=x1;
a[1]=x2;
a[2]=x3;
a[3]=x4;
b[0]=y1;
b[1]=y2;
b[2]=y3;
b[3]=y4;
sort(a,a+4);
sort(b,b+4);
double ans=(a[2]-a[1])*(b[2]-b[1]);
printf("%.2lf\n",ans);
}
return 0;
}
这个题其实画几个图就找到它的规律啦。。。
上一篇: 我拖拖拖--H5拖放API基础篇