洛谷 P1183 多邊形的面積

2022-04-04 16:18:26 字數 1096 閱讀 9912

給出乙個簡單多邊形(沒有缺口),它的邊要麼是垂直的,要麼是水平的。要求計算多邊形的面積。

多邊形被放置在乙個 x-yx−y 的卡笛爾平面上,它所有的邊都平行於兩條座標軸之一。然後按逆時針方向給出各頂點的座標值。所有的座標值都是整數(因此多邊形的面積也為整數)。

輸入格式:

第一行給出多邊形的頂點數 n(n≤100)n(n≤100) 。接下來的幾行每行給出多邊形乙個頂點的座標值 xx 和 yy (都為整數並且用空格隔開)。頂點按逆時針方向逐個給出。並且多邊形的每乙個頂點的座標值 -200≤x,y≤200−200≤x,y≤200 。多邊形最後是靠從最後乙個頂點到第乙個頂點畫一條邊來封閉的。

輸出格式:

乙個整數,表示多邊形的面積。

輸入樣例#1: 複製

10

0 04 0

4 13 1

3 32 3

2 21 2

1 30 3

輸出樣例#1: 複製

9

思路:皮克公式 +搜尋。

#include#include

#include

#include

#include

#define maxn 110

using

namespace

std;

intn,ans,bns;

int map[501][501

];int dx[4]=;

int dy[4]=;

struct

nondpoint[maxn];

void dfs(int x,int

y)int

main()

if(i==1

)

if(point[i].x==point[i-1

].x)

else

if(point[i].y==point[i-1

].y)

}dfs(point[

1].x+1,point[1].y+1

); cout

<2-1

;}

多邊形的面積

1 三角形面積 xy平面內,有三角形 123,如下圖所示 1 借助向量叉積和點積,這個三角形的面積公式非常簡單 這個面積是有符號的 1 2 3逆時針排列,則面積為正 1 2 3順時針排列,則面積為負。這是對右手系的總結,如果從背面看這個座標系就成了左手系。在左手系下,面積的正負情況正好相反。所以,關...

計算多邊形的面積

題目 輸入乙個點列,順次連線成乙個封閉多邊形,計算多邊形的面積 分析 方法一,計算面積可以考慮定積分的形式,定積分有正有負,順次求和,重複部分相互抵消,最後剩下的總面積的絕對值就是多邊形的面積。從線性積分後的結果可以容易的看出,直線段的積分實際上就是求該直線段與x軸所圍成的區域的梯形的面積int p...

求多邊形的面積

多邊形的面積求法 在草稿紙上面我們,我們就把它考慮成組合圖形去處理,所以我們是把他不斷的拆分,因為我們是不可以直接去求它的面積的。那麼在我們的電腦裡面,我們用 怎麼去去求面積呢?因為我們不是提前知道他們的組合圖形,所以我們不知道怎麼樣去求,或者說按照什麼圖形的面積求法,去求。當邊數為3的時候,我們知...