/*問題描述
平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。
輸入格式
輸入僅包含兩行,每行描述乙個矩形。
在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10^7的實數表示。
輸出格式
輸出僅包含乙個實數,為交的面積,保留到小數後兩位。
樣例輸入
1 1 3 3
2 2 4 4
樣例輸出
1.00*/
分析:
1.如何判斷兩個矩形是否有交?
可以先假設是由交集的,然後和題目一樣算出相交矩形對角線上的兩個點的座標,矩形的長和寬都是大於0的,所以就可以用兩個點的橫縱座標的比較作為判斷。
注意:因題目要求要保留兩位小數,所以為了結果的精確度,兩點的座標都要設為double型,這樣更嚴謹。
# include
# include
# define max(x,y) ((x)>(y)?(x):(y))
# define min(x,y) ((x)<(y)?(x):(y))
int main()
//根據已給出的點座標,得出交矩形兩點座標
x1=max(min(a[0][0],a[0][2]),min(a[1][0],a[1][2]));
y1=max(min(a[0][1],a[0][3]),min(a[1][1],a[1][3]));
x2=min(max(a[0][0],a[0][2]),max(a[1][0],a[1][2]));
y2=min(max(a[0][1],a[0][3]),max(a[1][1],a[1][3]));
//長和寬不為0
if(x2>x1&&y2>y1)
printf("%.2lf",(x2-x1)*(y2-y1));
else
printf("0.00");
return
0; }
藍橋杯 矩形面積交
問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10 7的實數表示。輸出格式 輸出僅...
藍橋杯 基礎 矩形面積交
題目 基礎練習 矩形面積交 時間限制 1.0s 記憶體限制 512.0mb 問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點...
藍橋杯 基礎練習 矩形面積交
問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10 7的實數表示。輸出格式 輸出僅...