2007年5月5日 星期六

N 邊形面積求解

輸入任意n邊形座標,求面積。(先輸入幾邊形,再依序輸入各頂點座標)

input
4
1 1
5 1
5 3
1 3

output
8.0000

input
4
2 1
5 1
2 3
1 3

output
3.9800

input
4
1 0
0 1
-1 0
0 -1

output
2.0040

困難度:**
時間複雜度:O(n^2)
程式語言:C++
預估時間:2 小時

解題原理:
1. 先取得使用者輸入的邊數
2. 使用一維陣列分別儲存x和y陣列座標
3. 記算x座標和y座標的最小和最大即為最小可包含n邊形的矩形
4. 取矩形內足夠的隨機亂數的座標,判斷落於n邊形的座標數
5. 當前後兩次落於座標的點數比率小於百分之一時,即逼近n邊形面積
6. 完成

程式下載


原碼下載


參考來源:長榮大學2007校內程式設計競賽初賽 試題 二

沒有留言: