8 矩形面積交
問題描述 :
平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。
輸入說明 :
輸入僅包含兩行,每行描述乙個矩形。
在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10^7的實數表示。
輸出說明 :
輸出僅包含乙個實數,為交的面積,保留到小數後兩位。
輸入範例 :
1 1 3 3
2 2 4 4
輸出範例 :
1.00
**:
/*
t8 矩形面積交
演算法概述:判斷第二個矩形有沒有點a在第乙個矩形範圍內(某個點a的橫座標大於
第乙個矩形橫座標較小的點小於橫座標較大的點,並且a的縱座標同樣滿足要求,那麼
點a在第乙個矩形範圍內),若有,則求出相交範圍的長和寬即可(長:第乙個矩形橫
座標的較大者減去a點的橫座標;寬:按照求長同樣的方法求得)
*/#include
#include
void
swap
(double
*a,double
*b);
intmain()
if((x21 >= x11 && x21 <= x12)
&&(y21 >= y11 && y21 <= y12))if
((x22 >= x11 && x22 <= x12)
&&(y22 >= y11 && y22 <= y12))if
((x22 >= x11 && x22 <= x12)
&&(y21 >= y11 && y21 <= y12))if
((x21 >= x11 && x21 <= x12)
&&(y22 >= y11 && y22 <= y12))if
(!flag)
printf
("0.00");
return0;
}// 交換兩個數
void
swap
(double
*a,double
*b)
看了下大佬的**,我寫的太囉嗦了……
改進版:
/*
t8 矩形面積交
演算法概述:判斷第二個矩形有沒有點a在第乙個矩形範圍內(某個點a的橫座標大於
第乙個矩形橫座標較小的點小於橫座標較大的點,並且a的縱座標同樣滿足要求,那麼
點a在第乙個矩形範圍內),若有,則求出相交範圍的長和寬即可(長:第乙個矩形橫
座標的較大者減去a點的橫座標;寬:按照求長同樣的方法求得)
*/#include
#include
void
swap
(double
*a,double
*b);
double
max(
double a,
double b)
;double
min(
double a,
double b)
;int
main()
printf
("%.2f"
, area)
;return0;
}// 交換兩個數
void
swap
(double
*a,double
*b)double
max(
double a,
double b)
double
min(
double a,
double b)
從這個題我學到了:
多種情況之間可以相互轉化的時候,一般可以整合成一種情況
東華OJ挑戰 8 矩形面積交
問題描述 平面上有兩個矩形,它們的邊平行於直角座標系的x軸或y軸。對於每個矩形,我們給出它的一對相對頂點的座標,請你程式設計算出兩個矩形的交的面積。輸入說明 輸入僅包含兩行,每行描述乙個矩形。在每行中,給出矩形的一對相對頂點的座標,每個點的座標都用兩個絕對值不超過10 7的實數表示。輸出說明 輸出僅...
東華oj 挑戰題第1題 Huffuman樹
1 huffuman樹 問題描述 huffman樹在編碼中有著廣泛的應用。在這裡,我們只關心huffman樹的構造過程。給出一列數 用這列數構造huffman樹的過程如下 1.找到中最小的兩個數,設為pa和pb,將pa和pb從中刪除掉,然後將它們的和加入到中。這個過程的費用記為pa pb。2.重複步...
東華oj 挑戰題第74題 地宮取寶
74 地宮取寶 問題描述 x 國王有乙個地宮寶庫。是 n x m 個格仔的矩陣。每個格仔放一件寶貝。每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,...