#include<stdio.h>
#include<algorithm>
using namespace std;
struct POINT
{
double x,y;
}point[55];
double cross(const POINT &p1,const POINT &p2,const POINT &q1,const POINT &q2)
{
return (q2.y - q1.y)*(p2.x - p1.x) - (q2.x - q1.x)*(p2.y - p1.y);
}
bool cmp(const POINT &a,const POINT &b)
{
POINT origin;
origin.x=origin.y=0;
return cross(origin,b,origin,a)<0;
}
int main()
{
int count=0;
while(scanf("%lf %lf",&point[count].x,&point[count].y)!=EOF)
{
count++;
}
sort(point+1,point+count,cmp);
for(int i=0;i<count;i++)
printf("(%.lf,%.lf)\n",point[i].x,point[i].y);
return 0;
}
poj 2007(极角排序)
最新推荐文章于 2019-07-29 22:57:01 发布