题目链接
http://acm.hdu.edu.cn/showproblem.php?pid=2056
Rectangles
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13419 Accepted Submission(s): 4331
Problem Description
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 .
Input
Input The first line of input is 8 positive numbers which indicate the coordinates of four points that must be on each diagonal.The 8 numbers are x1,y1,x2,y2,x3,y3,x4,y4.That means the two points on the first rectangle are(x1,y1),(x2,y2);the other two points on the second rectangle are (x3,y3),(x4,y4).
Output
Output For each case output the area of their intersected part in a single line.accurate up to 2 decimal places.
Sample Input
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
Sample Output
1.00 56.25
Author
seeyou
Source
计算机几何
其实是一道很简单的题目 只要想明白对角线点的求法就好
把两个矩形的对角线点都变成k>0的状态
然后假设当前有覆盖矩形 求出覆盖矩形两个对角线点pa(左下), pb(右上)
然后判断是否覆盖 如果是
( pb.x - pa.x < 0) || ( pb.y - pa.y < 0)
两种情况肯定是没有覆盖面积的
因为可能是右边pb的点到左边了 或者上面的点pb到下面来了
ps
果断有的时候题目不要想的太多 wa了n多次 最后绕晕了TT
ac代码