#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #define eps 1e-10 using namespace std; struct point { double x,y; } p[100]; //极角排序 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() { //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int n=0; while(~scanf("%lf%lf",&p[n].x,&p[n].y)) { n++; } sort(p+1,p+n,cmp); for (int i=0; i<n; i++) { printf("(%.0lf,%.0lf)\n",p[i].x,p[i].y); } return 0; } |
Double click to view unformatted code.