#include<iostream>
#include<stdio.h>
#include<cmath>
#include<algorithm>
#include<fstream>
using namespace std;
#define eps 1e-6
struct node
{
    int x,y;
}Queue[55];
double Dis(node a,node b)
{
    return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
double Mul(node a,node b,node c)
{
    return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
}
int Cmp(node a,node b)
{
    if(Mul(Queue[0],a,b)==0)
  return Dis(Queue[0],a)<Dis(Queue[0],b);
    else
  return Mul(Queue[0],a,b)>Mul(Queue[0],b,a);
}
int main()
{
    int i=0;
    int x1,y1;
    while(cin>>x1>>y1)
    {
        Queue[i].x=x1;
        Queue[i].y=y1;
        i++;
    }
    sort(Queue+1,Queue+i,Cmp);
    for(int j=0;j<i;j++)
    {
        printf("(%d,%d)\n",Queue[j].x,Queue[j].y);
    }
    return 0;
}

posted on 2012-02-02 15:59  →木头←  阅读(233)  评论(0编辑  收藏  举报