ETH官方钱包

切換
舊版
前往
大廳
主題

ZeroJudge - e568: 11639 - Guard the Land 解題心得

Not In My Back Yard | 2019-12-19 17:37:57 | 巴幣 0 | 人氣 207

題目連結:


題目大意:
給定一正整數 N (N ≦ 100),代表有 N 筆測試資料,每筆佔兩列。測資的第一列跟第二列各自給定四個非負整數 x1 、 y1 、 x2 、 y2 (0 ≦ x1 、 y1 、 x2 、 y2 ≦ 100,x1 < x2 ,y1 < y2),分別代表第一個和第二個守衛所顧的矩形區域左下角以及右上角之座標。

整個區域長寬皆為 100 ,座標從 x = 0 ~ 100 、y = 0 ~ 100 。有兩個守衛守護的區域稱為「強安全區」;只有一個守衛守護的區域為「弱安全區」;沒有守衛的區域為「非安全區」。

試問「強安全區」、「弱安全區」、「非安全區」各自面積為何?輸出格式請參見範例輸出。



範例輸入:
2
10 10 20 20
15 15 25 25
10 10 20 20
20 20 30 30


範例輸出:
Night 1: 25 150 9825
Night 2: 0 200 9800


解題思維:
因為守衛守護的矩形區域左下角為 x1 、 y1 、右上角為 x2 、 y2 。因此該矩形面積為 (x2 - x1) × (y2 - y1) 。

而兩個守衛守護區域重疊的面積之算法,可以參見這篇的想法,只是這題的維度只有兩個。

以上,即可得出強安全區的面積,進而得到弱安全區——兩矩形面積-強安全區面積。最後即可得到非安全區面積為,整體 100 × 100 - 弱安全區面積 - 強安全區面積。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。
追蹤 創作集

作者相關創作

相關創作

更多創作