POJ 1654 Area(計算幾何)

2021-07-04 03:42:34 字數 993 閱讀 1612

description

乙個座標系,從原點開始走,然後1-4分別代表,向右下走,向右走,向右上走,向下走,5代表回到原點,6-9代表,向上走,向左下走,向左走,向左上走。給出一串包含1-9的字串,問你這些點所圍成的面積

input

第一行為用例組數t,之後t行每行乙個由1~9組成的字串

output

輸出這些點所圍成的面積

sample input

4 5

825

6725

6244865

sample output

0 0

0.5

2solution

向量叉乘求面積

code

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

int dx=;

int dy=;

int main()

ll area=0,x=0,y=0,px,py;

for(int i=0;i'0'];

py=y+dy[s[i]-'0'];

area+=(px*y-py*x);

x=px;

y=py;

}if(area<0)area=-area;

if(area%2==0)

printf("%lld\n",area/2);

else

printf("%lld.5\n",area/2);

}return

0;}

POJ 1654 Area 計算幾何基礎

題意 乙個人初始在原點,按照題目所給走法,求最後得到的矩形的面積 1 9分別表示八個方向,5表示停止。分析 以起點為原點,每走一條路,把起點和終點分別和原點連線構成兩個向量,然後用所得向量求出該三角形的面積 最後矩形的面積就是這若干個三角形的面積和。include include include i...

POJ 1654 Area 有向面積

題目描述 解題思路 利用叉積的性質計算三角形面積然後相加。多邊形不要求一定是凸多邊形,因為叉積計算出的是有向面積,帶有正負號,凹下的部分會自動減去。2014.11.10 problem 1654 memory 932k time 63ms language c result accepted inc...

POJ 1654 Area 求多邊形面積

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