POJ 2007 叉積排序

2022-05-24 03:24:09 字數 784 閱讀 4508

題意:

給出凸包上的點,其中乙個點是(0,0),要求從(0,0)按照逆時針輸出所有點。

題解:不能有極角排序,因為多邊形可能在原點的左側。

view code

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7

8#define n 2222222

9#define eps 1e-3

10//

不能直接極角排序,因為圖形可能全部在原點左側

11using

namespace

std;

1213

struct

po14

p[n];

1718

int n=1;19

20 inline double cross(po &a,po &b,po &c)

2124

25 inline int doublecmp(double

x)26

3132 inline bool

cmp(po a,po b)

3336

37 inline void

go()

3845 sort(p+2,p+1+n,cmp);

46for(int i=1;i<=n;i++) printf("

(%.0lf,%.0lf)\n

",p[i].x,p[i].y);47}

4849

intmain()

50

poj 2007 極角排序

極角排序有四種方法,我一開始就是先算出極角來,然後進行排序,可交上去卻是wa,現在還沒有搞,後面用另一種還是錯了,最後用了這種才過的!如下 include include include include include using namespace std const int maxn 55 st...

poj2007凸包graham逆時針輸出

題意 給出一組點,包含原點,求凸包,並從原點開始按照逆時針方向輸出 include include include define max 1000 using namespace std struct points points p max int n,l,res max top bool cmp ...

叉積進行極角排序

對於上圖,給定兩個向量求兩個向量叉積,可知叉積與兩向量夾角 有關,當 為負數時叉積為負,反之為正。有乙個被稱為右手定則的方法可以在這裡用於判斷 的正負,四指方向為向量旋轉方向,拇指指向為叉積方向,當拇指指向上方時為 為正,反之為負。想想sort函式,當我們要對sort進行從大到小順序的排列時 boo...