題意:給你一串數字,每個數字分別代表不同的方向,一定是在1x1的格仔中走動,問最後圍成的多邊形面積是多少
題解:將整個多邊形劃分,
ans = (∑相鄰兩個點分別與原點構成的線段的叉積 )/ 2
由叉積的幾何意義可知求得的結果是乙個平行四邊形的面積
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
using
namespace
std;
const
int maxn = 1e6 + 5;
typedef
long
long ll;
int dx = ;
int dy = ;
struct point
point(int xx, int yy):x(xx),y(yy){}
};ll cross(point a, point b, point c)
int main()
if(ans < 0) ans = -ans;
printf("%lld",ans/2);
if(ans % 2 == 1) printf(".5");
printf("\n");
}}
poj 1654 多邊形面積
題意 在平面直角座標系下,從原點開始按照指令移動。指令由數字1 9給出,每種數字表示乙個方向,包括四個正向以及四個對角方向 其中數字5表示回到原點,輸入保證圖形最終都能夠回到原點 求這些點所圍成的面積。思路 原點和相鄰的兩個點圍成乙個三角形,求所有這些三角形的 有向 面積之和即可。求面積所用的方法為...
POJ1654 多邊形面積)
題目 area 題意 在乙個網格中,你當前在起始點,然後給你一些數字,每個數字表示你網當前位置的8個方向走一步.然後你到了下乙個網格點了,就這樣讓你走出乙個多邊形,要你輸出該多邊形的面積.題目保證最後一步是回到原點,且保證能形成多邊形.圖示 分析 求的是多邊形的面積,我們有求多邊形面積的三角形法。首...
POJ 1654 Area 計算幾何基礎
題意 乙個人初始在原點,按照題目所給走法,求最後得到的矩形的面積 1 9分別表示八個方向,5表示停止。分析 以起點為原點,每走一條路,把起點和終點分別和原點連線構成兩個向量,然後用所得向量求出該三角形的面積 最後矩形的面積就是這若干個三角形的面積和。include include include i...