問題の説明
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 。 }