藍橋杯 基礎練習 矩形面積交

2021-09-12 10:07:47 字數 1769 閱讀 3911

問題描述

平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。

輸入格式

輸入僅包含兩行,每行描述乙個矩形。

在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10^7的實數表示。

輸出格式

輸出僅包含乙個實數,為交的面積,保留到小數後兩位。

樣例輸入

1 1 3 3

2 2 4 4

樣例輸出

個人思路:這道題更像是一道找規律題吧,可以將兩個矩形相交的情況都畫出來,只有幾種情況(如上圖的幾種),然後再認真觀察,很容易發現相交得到的那個矩形的面積其實就等於夾在中間的兩個x

xx之差 ∗

*∗ 兩個y

yy之差,那麼問題就轉換成了找夾在中間的x

xx與yyy

相交得到的矩形的左邊的x(m

2)x(m2)

x(m2

)其實就是max

(min

(x1,

x2),

min(

x3,x

4))max(min(x1, x2), min(x3, x4))

max(mi

n(x1

,x2)

,min

(x3,

x4))

,右邊的x(m

1)x(m1)

x(m1

)則為min

(max

(x1,

x2),

max(

x3,x

4))min(max(x1, x2), max(x3, x4))

min(ma

x(x1

,x2)

,max

(x3,

x4))

,那麼同理y也是如此 【x1、

x2、x

3、x4

x1、x2、x3、x4

x1、x2、

x3、x

4為題目要求輸入的兩對相對頂點的x

xx值】,即得到相交矩形的面積為(m1

−m2)

∗(n1

−n2)

(m1 - m2) * (n1 - n2)

(m1−m2

)∗(n

1−n2

) 【n1、

n2n1、n2

n1、n

2為得到的y值】

如果相交,那按照這種方式得到的m1、

m2、n

1、n2

m1、m2、n1、n2

m1、m2、

n1、n

2必然滿足m

1>m2

m1>m2

m1>m2

&& n

1>n2

n1 > n2

n1>n2

,所以如果不滿足則不相交

#include

#include

#include

using namespace std;

intmain()

else

cout<<

"0.00"

<

return0;

}

藍橋杯 基礎練習 矩形面積交

問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10 7的實數表示。輸出格式 輸出僅...

藍橋杯 基礎練習 矩形面積交

description 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們 給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。input 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10 7的實數表示...

藍橋杯 基礎練習 矩形面積交

資源限制 時間限制 1.0s 記憶體限制 512.0mb 問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入格式 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座...