HDU2056長方形

問題の説明

2つの矩形と各長方形の対角線上の2点の座標を考えると、あなたは、2つの長方形の交差部分の面積を計算する必要があります。その側面は、OX及びOYに平行です。

入力

入力入力の最初の行は、各diagonal.The 8数になければならない4点の座標を示す8つの正数はX1、Y1、X2、Y2、X3、Y3、X4でありされ、y4.Thatは、上の2点を意味します第一矩形(X1、Y1)、(X2、Y2)である第二の矩形上の他の2点(X3、Y3)、(X4、Y4)です。

出力

それぞれの場合の出力の出力アップ小数点以下2桁に単一line.accurateでの交差部分の面積。

サンプル入力

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.00 56.25

 

コードは以下の通りであります:

書式#include <cstdioを> 
する#include <iostreamの> 
の#include <CStringの> 
の#include < 文字列 > 
の#include <cmath> 
の#include <アルゴリズム>
 使用して 名前空間はstd;
空隙変化(ダブルダブルB){
         ダブル TEMP = = B; 
        B = TEMP。
} 
int型のmain(){
     ダブルX1、X2、X3、X4、Y1、Y2、Y3、Y4。
    ダブルミンクス、MINY、MAXX、MAXY。
    同時に(CIN >> X1 >> Y1 >> X2 >> Y2 >> X3 >> Y3 >> X4 >> Y4){
         場合(X1> X2)変化(X1、X2)。
        もし(X3> X4)の変化(X3、X4)。
        もし(Y1> Y2)の変化(Y1、Y2);
        もし(Y3> Y4)の変化(Y3、Y4)。
        ミンクス = X1 <X3?X3:X1; 
        MAXX = X2 <X4?×2:X4; 
        MINY = Y1 <Y3?Y3:Y1; 
        MAXY = Y2 <Y4?Y2:Y4;
        もし(ミンクス> MAXX || MINY> MAXY)のprintf(" 0.00 \ N " );
        のprintf(" %。、(MAXX-ミンクス)*(maxy- MINY))。
    } 
    戻り 0 
}

おすすめ

転載: www.cnblogs.com/jianqiao123/p/11365242.html