Given two rectangles and the coordinates of two points on the diagonals of each rectangle,you have to calculate the area of the intersected part of two rectangles. its sides are parallel to OX and OY .
1.00 1.00 3.00 3.00 2.00 2.00 4.00 4.00 5.00 5.00 13.00 13.00 4.00 4.00 12.50 12.50
1.0056.25
本题的解法过程在网上都可以查到,但本题的坑点是,必须持续输入,直到输入出错停止
#include<iostream> #include<algorithm> #include<cstdio> using namespace std; int main() { double x1,y1,x2,y2,x3,y3,x4,y4; while(cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4){ if(x1>x2)swap(x1,x2); if(y1>y2)swap(y1,y2); if(x3>x4)swap(x3,x4); if(y3>y4)swap(y3,y4); double X1,X2,Y1,Y2; X1=max(x1,x3);X2=min(x2,x4); Y1=max(y1,y3);Y2=min(y2,y4); if(X1>=X2||Y1>=Y2)printf("%.2lf\n",0); else printf("%.2lf\n",(X2-X1)*(Y2-Y1)); } return 0; }
本文介绍了一种计算两个矩形交集面积的方法,输入为两对矩形对角线顶点坐标,输出精确到小数点后两位的交集面积。
1099

被折叠的 条评论
为什么被折叠?



