您的位置:首页 > 其它

hdu2056 矩形重叠面积(水题)

2014-07-04 21:46 393 查看
题意:

给你两个矩形,问你他们的重叠面积是多少。

思路:


这两个矩形是平行x和y轴的,所以水题,不解释。

#include<stdio.h>

typedef struct
{
    double x ,y;
}NODE;

NODE a ,b ,c ,d;

int main ()
{
    double x1 ,x2 ,y1 ,y2;
    double x11 ,x22 ,y11 ,y22;
    while(~scanf("%lf %lf %lf %lf %lf %lf %lf %lf" ,&a.x ,&a.y ,&b.x ,&b.y ,&c.x ,&c.y ,&d.x ,&d.y))
    {
        x1 = x11 = 1000000000.0 ,x2 = x22 = 0;
        y1 = y11 = 1000000000.0 ,y2 = y22 = 0;
        x1 = a.x < b.x ? a.x : b.x;
        x2 = a.x > b.x ? a.x : b.x;
        y1 = a.y < b.y ? a.y : b.y;
        y2 = a.y > b.y ? a.y : b.y;
        x11 = c.x < d.x ? c.x : d.x;
        x22 = c.x > d.x ? c.x : d.x;
        y11 = c.y < d.y ? c.y : d.y;
        y22 = c.y > d.y ? c.y : d.y;
        double x = x1 > x11 ? x1 : x11;
        double xx = x2 < x22 ? x2 : x22;
        double y = y1 > y11 ? y1 : y11;
        double yy = y2 < y22 ? y2 : y22;
        if(xx - x <= 0 || yy - y <= 0) puts("0.00");
        else printf("%.2lf\n" ,(xx - x) * (yy - y));
     }
     return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: