題意:乙個人初始在原點,按照題目所給走法,求最後得到的矩形的面積;1~9分別表示八個方向,5表示停止。
分析:以起點為原點,每走一條路,把起點和終點分別和原點連線構成兩個向量,然後用所得向量求出該三角形的面積;最後矩形的面積就是這若干個三角形的面積和。
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
double eps=1e-8;
inline
bool zero(double x)
struct vector
; vector(double _x,double _y):x(_x),y(_y) {};
vector operator+(const vector& b) const
vector operator-(const vector& b) const
vector operator*(double q) const
};typedef vector point;
inline
double dotproduct(const vector& a,const vector& b)
inline
double crossproduct(const vector& a,const vector& b)
struct segment
; segment(point _s,point _e):s(_s),e(_e) {};
};bool isintersected(segment l1,segment l2)
inline
double dist(point a,point b)
inline
bool dotsinline(point a,point b,point c)
point intersection(point u1,point u2,point v1,point v2)
const
int max=1000005;
const
int dx[10]=;
const
int dy[10]=;
int t;
char str[max];
int main()
if (ans<0)
ans=-ans;
if (ans%2==1)
cout
<2
<<".5"
cout
<2
0;}
POJ 1654 Area(計算幾何)
description 乙個座標系,從原點開始走,然後1 4分別代表,向右下走,向右走,向右上走,向下走,5代表回到原點,6 9代表,向上走,向左下走,向左走,向左上走。給出一串包含1 9的字串,問你這些點所圍成的面積 input 第一行為用例組數t,之後t行每行乙個由1 9組成的字串 output...
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...