POJ1654 多邊形面積)

2021-10-03 13:29:27 字數 995 閱讀 8879

題目:area

題意:在乙個網格中,你當前在起始點,然後給你一些數字,每個數字表示你網當前位置的8個方向走一步.然後你到了下乙個網格點了,就這樣讓你走出乙個多邊形,要你輸出該多邊形的面積. 題目保證最後一步是回到原點,且保證能形成多邊形.

圖示:

分析:求的是多邊形的面積,我們有求多邊形面積的三角形法。首先我們將所有的點都找到,然後代入去計算就可以了。特點是這個面積要麼是個整數,要麼是0.5的倍數,所以可以先計算面積的倆倍,最後再來除。

sample input

4

5825

6725

6244865

sample output

0

00.5

2

**:

#include #include #include using namespace std;

const int n=1000010;

struct point

point(int x,int y):x(x),y(y)

} ;typedef point vector;

vector operator - (point a,point b)

long long cross(vector a,vector b)

long long polygonarea(point *p,int n)

const int dx=; //將數值對映成座標

const int dy=;

char str[n];

point p[n];

int n;

int main()

}

poj 1654 多邊形面積

題意 在平面直角座標系下,從原點開始按照指令移動。指令由數字1 9給出,每種數字表示乙個方向,包括四個正向以及四個對角方向 其中數字5表示回到原點,輸入保證圖形最終都能夠回到原點 求這些點所圍成的面積。思路 原點和相鄰的兩個點圍成乙個三角形,求所有這些三角形的 有向 面積之和即可。求面積所用的方法為...

POJ 1654(計算幾何基礎多邊形面積)

題意 給你一串數字,每個數字分別代表不同的方向,一定是在1x1的格仔中走動,問最後圍成的多邊形面積是多少 題解 將整個多邊形劃分,ans 相鄰兩個點分別與原點構成的線段的叉積 2 由叉積的幾何意義可知求得的結果是乙個平行四邊形的面積 include include include include i...

POJ 1654 Area 求多邊形面積

7 8 9 4 5 6 1 2 3 如上鍵位,從原點開始,按數字幾就是往哪個方向走,5停止 求從原點開始,走過這些的路徑圍成的多邊形的面積,用叉積來算就好了,以原點為起點,很easy 不過爆int了沒弄清楚範圍,wa了幾發!還有就是哪個輸出,一定要弄成這樣,我試了別的都wa。include incl...