輸入任意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校內程式設計競賽初賽 試題 二
沒有留言:
張貼留言