名词释义:在平面内取一个定点O,叫极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(通常取逆时针方向)。对于平面内任何一点M,用ρ表示线段OM的长度(有时也用r表示),θ表示从Ox到OM的角度,ρ叫做点M的极径,θ叫做点M的极角,有序数对 (ρ,θ)就叫点M的极坐标。可以将平面内的点排成一个环。
#include<stdio.h> #include<iostream> #include<algorithm> using namespace std; #define MAXN 55 struct Node { int x,y; }; Node p[MAXN]; int cross(Node p0,Node p1,Node p2) { return (p1.x-p0.x)*(p2.y-p0.y)-(p1.y-p0.y)*(p2.x-p0.x); } bool cmp(Node p1,Node p2) { int tmp=cross(p[0],p1,p2); if(tmp>0) return true; else return false; } int main() { // freopen("test.in","r",stdin); //freopen("test.out","w",stdout); int n=0; while(scanf("%d%d",&p[n].x,&p[n].y)!=EOF)n++; sort(p+1,p+n,cmp); for(int i=0;i<n;i++) printf("(%d,%d) ",p[i].x,p[i].y); // system("pause"); return 0; }